def __init__(self, address, port, auto_stop=True): SimpleXMLRPCServer.SimpleXMLRPCServer.__init__( self, (address, port), requestHandler=RequestHandler, logRequests=False, allow_none=True) self.__symbols_and_bars = None # Pickle'd symbols and bars for faster retrieval. self.__bars_freq = None self.__active_jobs = {} self.__active_jobs_lock = threading.Lock() self.__parameters_lock = threading.Lock() self.__best_job = None self.__parameters_iterator = None self.__logger = optimizer.get_logger("server") if auto_stop: self.__auto_stop_thread = AutoStopThread(self) else: self.__auto_stop_thread = None self.register_introspection_functions() self.register_function(self.get_symbols_and_bars, 'get_symbols_and_bars') self.register_function(self.get_bars_frequency, 'get_bars_frequency') self.register_function(self.get_next_job, 'get_next_job') self.register_function(self.push_job_results, 'push_job_results') self.__forced_stop = False
def worker_process(strategy_class, port): class Worker(worker.Worker): def run_strategy(self, bar_feed, *parameters): strat = strategy_class(bar_feed, *parameters) strat.run() return strat.get_result() # Create a worker and run it. w = Worker("localhost", port) w.set_logger(optimizer.get_logger("worker", logging.ERROR)) w.run()
def __init__(self, address, port, auto_stop=True): SimpleXMLRPCServer.SimpleXMLRPCServer.__init__(self, (address, port), requestHandler=RequestHandler, logRequests=False, allow_none=True) self.__symbols_and_bars = None # Pickle'd symbols and bars for faster retrieval. self.__bars_freq = None self.__active_jobs = {} self.__active_jobs_lock = threading.Lock() self.__parameters_lock = threading.Lock() self.__best_job = None self.__parameters_iterator = None self.__logger = optimizer.get_logger("server") if auto_stop: self.__auto_stop_thread = AutoStopThread(self) else: self.__auto_stop_thread = None self.register_introspection_functions() self.register_function(self.get_symbols_and_bars, 'get_symbols_and_bars') self.register_function(self.get_bars_frequency, 'get_bars_frequency') self.register_function(self.get_next_job, 'get_next_job') self.register_function(self.push_job_results, 'push_job_results') self.__forced_stop = False
def __init__(self, address, port): url = "http://%s:%s/PyTradeLibRPC" % (address, port) self.__server = xmlrpclib.ServerProxy(url, allow_none=True) self.__logger = optimizer.get_logger("server")