Exemple #1
0
    def run(self):
        log = get_logger("[CLIENT_DATA_THREAD]")
        log("START")

        try:
            with closing(self.client_sock):
                ins, _, _ = select.select([self.client_sock], [], [])
                if ins:
                    msg = read_json(ins[0])
                    app_env = msg["app_env"]
                    app_sock = connect(
                        self.app_servers[app_env], wait_time=3, max_attempts=10
                    )
                    with closing(app_sock):
                        write_json(msg, app_sock)
                        redirect_map = {
                            app_sock: self.client_sock,
                            self.client_sock: app_sock,
                        }

                        while True:
                            ins, _, _ = select.select(redirect_map.keys(), [], [])
                            if not fd_redirect_list(ins, redirect_map):
                                break
        finally:
            log("DONE")
 def __init__(self, restart_queued, path, app_env):
     self.app_env = app_env
     self.app_sock = None
     self.log = get_logger("[APP - %s]" % app_env)
     self.path = path
     self.restart_queued = restart_queued
     self.command_worker_ctls = {}
Exemple #3
0
def _run_reloader(restart_queued):
    log = get_logger("[CODE_WATCHER]")
    try:
        # Django >= 2.2
        should_reload = _run_django_reloader(log)
    except ImportError:
        should_reload = _run_django_code_changed_reloader(log)
    if should_reload:
        log("Restart Queued", logging.WARN)
        restart_queued.set()
Exemple #4
0
    def run(self):
        log = get_logger("[CLIENT_CTL_THREAD]")
        log("START")

        try:
            with closing(self.client_sock):
                ins, _, _ = select.select([self.client_sock], [], [])
                if ins:
                    try:
                        msg = read_json(ins[0])
                    except ValueError:
                        # could be empty string if client disconnects
                        return
                    self.send_msg(msg)
        finally:
            log("DONE")
Exemple #5
0
 def __init__(self, path_server, path_ctl):
     self.app_servers = multiprocessing.Manager().dict()
     self.path_server = path_server
     self.path_ctl = path_ctl
     self.log = get_logger("[MANAGER]")
Exemple #6
0
 def __init__(self, data_path, ctl_path, app_env):
     self.log = get_logger("[CLIENT]")
     self.data_path = data_path
     self.ctl_path = ctl_path
     self.app_env = app_env
     self.client_id = str(uuid.uuid1())