def __init__(self, ip='127.0.0.1', port=None, registry=None, logger=None, events=None, node_endpoint=None, log_endpoint=None): self.zctx = zmq.Context.instance() self.ip = ip self.port = port self.node_endpoint = node_endpoint self.log_endpoint = log_endpoint self.endpoint = None self.bound = False self.recv_loop_greenlet = None self.channels = {} self.connections = {} self.pool = trace.Group() self.service_registry = registry self.event_system = events self.bind() self.identity = hashlib.md5(self.endpoint.encode('utf-8')).hexdigest() self.installed_services = {} self.installed_plugins = [] self.error_hook = Hook() self.monitor = Monitor(self) self.install(DefaultInterface) registry.install(self) if events: events.install(self)
def __init__(self, rpc=None, registry=None, events=None, log_endpoint=None, service_name=None, debug=False, pool=None, worker=False, metrics=None): if pool is None: pool = trace.Group() if metrics is None: metrics = Aggregator() super(ServiceContainer, self).__init__(error_hook=Hook('error_hook'), pool=pool, metrics=metrics) self.log_endpoint = log_endpoint self.backdoor_endpoint = None self.service_name = service_name self.fqdn = socket.getfqdn() self.worker = worker self.http_request_hook = Hook('http_request_hook') self.server = rpc self.service_registry = registry self.events = events self.installed_interfaces = {} self.installed_plugins = [] self.debug = debug self.metrics.add_tags(service=self.service_name, host=self.fqdn) self.monitor = self.install(MonitorPusher, aggregator=self.metrics, endpoint=rpc.ip, interval=5) if self.service_registry: self.add_component(self.service_registry) if self.events: self.add_component(self.events) self.events.install(self) self.add_component(rpc) rpc.request_handler = self.handle_request self.install_interface(DefaultInterface, name='lymph', builtin=True, version=get_lymph_version())
def __init__(self, rpc=None, registry=None, events=None, log_endpoint=None, service_name=None, debug=False, monitor_endpoint=None, pool=None): if pool is None: pool = trace.Group() super(ServiceContainer, self).__init__(error_hook=Hook('error_hook'), pool=pool) self.log_endpoint = log_endpoint self.backdoor_endpoint = None self.service_name = service_name self.fqdn = socket.getfqdn() self.server = rpc self.service_registry = registry self.event_system = events self.installed_interfaces = {} self.installed_plugins = [] self.debug = debug self.monitor_endpoint = monitor_endpoint self.metrics_aggregator = Aggregator(self._get_metrics, service=self.service_name, host=self.fqdn) if self.service_registry: self.add_component(self.service_registry) if self.event_system: self.add_component(self.event_system) self.event_system.install(self) self.monitor = self.install(MonitorPusher, aggregator=self.metrics_aggregator, endpoint=self.monitor_endpoint, interval=5) self.add_component(rpc) rpc.request_handler = self.handle_request self.install_interface(DefaultInterface, name='lymph')