Exemple #1
0
 def __init__(self, logger, config_filename=CONFIG_FILENAME):
     self._node_dict = {}
     self._crash_dict = {}
     self._logger = logger
     self._config = ConfigParser(config_filename)
     beacon_port, beacon_timeout, config_req_interval = self._config.beacon_config
     report_port = self._config.report_server_config
     web_port = self._config.web_server_config
     self._beacon_queue = Queue()
     self._node_queue = Queue()
     self._report_queue = Queue()
     self._web_queue = Queue()
     self._db_queue = Queue()
     self._db_worker = DatabaseWorker(self._db_queue, self._node_dict,
                                      self._crash_dict)
     self._db_worker.load()
     self._beacon_server = BeaconServer(beacon_port, self._beacon_queue)
     self._beacon_worker = BeaconWorker(self._beacon_queue,
                                        self._node_queue, self._db_queue,
                                        beacon_timeout, config_req_interval,
                                        self._node_dict)
     self._report_server = ReportServer(report_port, self._report_queue)
     self._report_worker = ReportWorker(self._report_queue, self._db_queue,
                                        self._node_dict, self._crash_dict)
     self._node_client_worker = NodeClientWorker(self._node_queue)
     self._web_intf = WebInterface(self._web_queue, self._node_dict,
                                   self._crash_dict)
     self._web_server = WebServer(web_port, self._web_intf.app)
     self._web_worker = WebWorker(self._node_dict, self._web_queue,
                                  self._node_queue, self._db_queue)
Exemple #2
0
class PyFuzz2Server:
    def __init__(self, logger, config_filename=CONFIG_FILENAME):
        self._node_dict = {}
        self._crash_dict = {}
        self._logger = logger
        self._config = ConfigParser(config_filename)
        beacon_port, beacon_timeout, config_req_interval = self._config.beacon_config
        report_port = self._config.report_server_config
        web_port = self._config.web_server_config
        self._beacon_queue = Queue()
        self._node_queue = Queue()
        self._report_queue = Queue()
        self._web_queue = Queue()
        self._db_queue = Queue()
        self._db_worker = DatabaseWorker(self._db_queue, self._node_dict,
                                         self._crash_dict)
        self._db_worker.load()
        self._beacon_server = BeaconServer(beacon_port, self._beacon_queue)
        self._beacon_worker = BeaconWorker(self._beacon_queue,
                                           self._node_queue, self._db_queue,
                                           beacon_timeout, config_req_interval,
                                           self._node_dict)
        self._report_server = ReportServer(report_port, self._report_queue)
        self._report_worker = ReportWorker(self._report_queue, self._db_queue,
                                           self._node_dict, self._crash_dict)
        self._node_client_worker = NodeClientWorker(self._node_queue)
        self._web_intf = WebInterface(self._web_queue, self._node_dict,
                                      self._crash_dict)
        self._web_server = WebServer(web_port, self._web_intf.app)
        self._web_worker = WebWorker(self._node_dict, self._web_queue,
                                     self._node_queue, self._db_queue)

    def main(self):
        self._logger.info("PyFuzz2 Server started...")
        self._beacon_server.start_server()
        self._beacon_worker.start_worker()
        self._report_server.start_server()
        self._report_worker.start_worker()
        self._web_server.start_server()
        self._node_client_worker.start_worker()
        self._db_worker.start_worker()
        self._web_worker.start_worker()
        while True:
            try:
                gevent.wait()
            except KeyboardInterrupt:
                self.__shut_down()
                exit(0)

    def __shut_down(self):
        self._beacon_server.stop_server()
        self._beacon_worker.stop_worker()
        self._report_server.stop_server()
        self._report_worker.stop_worker()
        self._web_server.stop_server()
        self._node_client_worker.stop_worker()
        self._db_worker.stop_worker()
        self._web_worker.stop_worker()
        gevent.sleep(0)
Exemple #3
0
class PyFuzz2Server:
    def __init__(self, logger, config_filename=CONFIG_FILENAME):
        self._node_dict = {}
        self._crash_dict = {}
        self._logger = logger
        self._config = ConfigParser(config_filename)
        beacon_port, beacon_timeout, config_req_interval = self._config.beacon_config
        report_port = self._config.report_server_config
        web_port = self._config.web_server_config
        self._beacon_queue = Queue()
        self._node_queue = Queue()
        self._report_queue = Queue()
        self._web_queue = Queue()
        self._db_queue = Queue()
        self._db_worker = DatabaseWorker(self._db_queue, self._node_dict, self._crash_dict)
        self._db_worker.load()
        self._beacon_server = BeaconServer(beacon_port, self._beacon_queue)
        self._beacon_worker = BeaconWorker(self._beacon_queue, self._node_queue, self._db_queue,
                                           beacon_timeout, config_req_interval, self._node_dict)
        self._report_server = ReportServer(report_port, self._report_queue)
        self._report_worker = ReportWorker(self._report_queue, self._db_queue, self._node_dict, self._crash_dict)
        self._node_client_worker = NodeClientWorker(self._node_queue)
        self._web_intf = WebInterface(self._web_queue, self._node_dict, self._crash_dict)
        self._web_server = WebServer(web_port, self._web_intf.app)
        self._web_worker = WebWorker(self._node_dict, self._web_queue, self._node_queue, self._db_queue)

    def main(self):
        self._logger.info("PyFuzz2 Server started...")
        self._beacon_server.start_server()
        self._beacon_worker.start_worker()
        self._report_server.start_server()
        self._report_worker.start_worker()
        self._web_server.start_server()
        self._node_client_worker.start_worker()
        self._db_worker.start_worker()
        self._web_worker.start_worker()
        while True:
            try:
                gevent.wait()
            except KeyboardInterrupt:
                self.__shut_down()
                exit(0)

    def __shut_down(self):
        self._beacon_server.stop_server()
        self._beacon_worker.stop_worker()
        self._report_server.stop_server()
        self._report_worker.stop_worker()
        self._web_server.stop_server()
        self._node_client_worker.stop_worker()
        self._db_worker.stop_worker()
        self._web_worker.stop_worker()
        gevent.sleep(0)
Exemple #4
0
 def __init__(self, logger, config_filename=CONFIG_FILENAME):
     self._node_dict = {}
     self._crash_dict = {}
     self._logger = logger
     self._config = ConfigParser(config_filename)
     beacon_port, beacon_timeout, config_req_interval = self._config.beacon_config
     report_port = self._config.report_server_config
     web_port = self._config.web_server_config
     self._beacon_queue = Queue()
     self._node_queue = Queue()
     self._report_queue = Queue()
     self._web_queue = Queue()
     self._db_queue = Queue()
     self._db_worker = DatabaseWorker(self._db_queue, self._node_dict, self._crash_dict)
     self._db_worker.load()
     self._beacon_server = BeaconServer(beacon_port, self._beacon_queue)
     self._beacon_worker = BeaconWorker(self._beacon_queue, self._node_queue, self._db_queue,
                                        beacon_timeout, config_req_interval, self._node_dict)
     self._report_server = ReportServer(report_port, self._report_queue)
     self._report_worker = ReportWorker(self._report_queue, self._db_queue, self._node_dict, self._crash_dict)
     self._node_client_worker = NodeClientWorker(self._node_queue)
     self._web_intf = WebInterface(self._web_queue, self._node_dict, self._crash_dict)
     self._web_server = WebServer(web_port, self._web_intf.app)
     self._web_worker = WebWorker(self._node_dict, self._web_queue, self._node_queue, self._db_queue)