def start(self, heart_beat_config): self._server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: self._server_socket.bind(('', heart_beat_config["server_port"])) self._server_socket.listen(heart_beat_config["backlog"]) self._interval = heart_beat_config["server_interval"] self._heart_beat_config = heart_beat_config self._last_notification_time = None signal.signal(signal.SIGTERM, HeartBeatServer._stop) signal.signal(signal.SIGINT, HeartBeatServer._stop) # for ctrl-c thread.start_new_thread(self._run, ()) logging.info("heartbeat server started") while not HeartBeatServer.global_stop_event.is_set(): client_socket, _ = self._server_socket.accept() raw_data = client_socket.recv(heart_beat_config["max_data_size"]) message = simplejson.loads(raw_data) logging.debug("heartbeat server received message", message) heartbeatdb.save_heartbeat(message) client_socket.close() except socket.error as e: logging.warn("socket error for heartbeat server!!!", exception = e) finally: self._server_socket.close() logging.info("heartbeat server terminated")
def _load(): global _pa_initialized if not _pa_initialized: _pa_initialized = pa.init(common_settings.page_analysis_logger_prefix, common_settings.page_analysis_config_files) if not _pa_initialized: logging.error("page_analysis lib can't be loaded") return False else: logging.info("page_analysis lib has been loaded") return True
def _unload(): global _pa_initialized _pa_initialized = False pa.reset() logging.info("page_analysis lib has been unloaded")