예제 #1
0
    def start_listening(self):
        if self.config.redis_enabled:
            # If redis is enabled we connect via the replication command handler
            # in the same way as the workers (since we're effectively a client
            # rather than a server).
            self.get_tcp_replication().start_replication(self)

        for listener in self.config.server.listeners:
            if listener.type == "http":
                self._listening_services.extend(
                    self._listener_http(self.config, listener))
            elif listener.type == "manhole":
                _base.listen_manhole(listener.bind_addresses,
                                     listener.port,
                                     manhole_globals={"hs": self})
            elif listener.type == "replication":
                services = listen_tcp(
                    listener.bind_addresses,
                    listener.port,
                    ReplicationStreamProtocolFactory(self),
                )
                for s in services:
                    reactor.addSystemEventTrigger("before", "shutdown",
                                                  s.stopListening)
            elif listener.type == "metrics":
                if not self.config.enable_metrics:
                    logger.warning("Metrics listener configured, but "
                                   "enable_metrics is not True!")
                else:
                    _base.listen_metrics(listener.bind_addresses,
                                         listener.port)
            else:
                # this shouldn't happen, as the listener type should have been checked
                # during parsing
                logger.warning("Unrecognized listener type: %s", listener.type)
예제 #2
0
    def start_listening(self):
        for listener in self.config.worker_listeners:
            if listener.type == "http":
                self._listen_http(listener)
            elif listener.type == "manhole":
                _base.listen_manhole(listener.bind_addresses,
                                     listener.port,
                                     manhole_globals={"hs": self})
            elif listener.type == "metrics":
                if not self.config.enable_metrics:
                    logger.warning(("Metrics listener configured, but "
                                    "enable_metrics is not True!"))
                else:
                    _base.listen_metrics(listener.bind_addresses,
                                         listener.port)
            else:
                logger.warning("Unsupported listener type: %s", listener.type)

        self.get_tcp_replication().start_replication(self)
예제 #3
0
    def start_listening(self) -> None:
        for listener in self.config.worker.worker_listeners:
            if listener.type == "http":
                self._listen_http(listener)
            elif listener.type == "manhole":
                _base.listen_manhole(
                    listener.bind_addresses,
                    listener.port,
                    manhole_settings=self.config.server.manhole_settings,
                    manhole_globals={"hs": self},
                )
            elif listener.type == "metrics":
                if not self.config.metrics.enable_metrics:
                    logger.warning("Metrics listener configured, but "
                                   "enable_metrics is not True!")
                else:
                    _base.listen_metrics(listener.bind_addresses,
                                         listener.port)
            else:
                logger.warning("Unsupported listener type: %s", listener.type)

        self.get_replication_command_handler().start_replication(self)