def add_queue(self, q, **kwargs): """Add queue for this instance by name.""" if isinstance(q, self.Queue): q = q.as_dict() else: queues = find_symbol(self, 'cyme.branch.controller.queues') try: q = queues.get(q) except queues.NoRouteError: self.queues.remove(q) self.save() warnings.warn('Removed unknown consumer: %r from %r' % (q, self.name)) return name = q['name'] options = deserialize(q['options']) if q.get('options') else {} exchange = q['exchange'] if q['exchange'] else name routing_key = q['routing_key'] if q['routing_key'] else name return self._query( 'add_consumer', dict(queue=q['name'], exchange=exchange, exchange_type=q['exchange_type'], routing_key=routing_key, **options), **kwargs)
def __init__(self, addrport='', id=None, loglevel=logging.INFO, logfile=None, without_httpd=False, numc=2, sup_interval=None, ready_event=None, colored=None, **kwargs): self.id = id or gen_unique_id() if isinstance(addrport, basestring): addr, _, port = addrport.partition(':') addrport = (addr, int(port) if port else 8000) self.addrport = addrport self.connection = celery.broker_connection() self.without_httpd = without_httpd self.logfile = logfile self.loglevel = loglevel self.numc = numc self.ready_event = ready_event self.exit_request = Event() self.colored = colored or term.colored(enabled=False) self.httpd = None gSup = find_symbol(self, self.intsup_cls) if not self.without_httpd: self.httpd = MockSup(instantiate(self, self.httpd_cls, addrport), signals.httpd_ready) self.supervisor = gSup( instantiate(self, self.supervisor_cls, sup_interval), signals.supervisor_ready) self.controllers = [ gSup( instantiate(self, self.controller_cls, id='%s.%s' % (self.id, i), connection=self.connection, branch=self), signals.controller_ready) for i in xrange(1, numc + 1) ] c = [self.supervisor] + self.controllers + [self.httpd] c = self.components = list(filter(None, c)) self._components_ready = dict( zip([z.thread for z in c], [False] * len(c))) for controller in self.controllers: if hasattr(controller.thread, 'presence'): self._components_ready[controller.thread.presence] = False self._components_shutdown = dict(self._components_ready) super(Branch, self).__init__()
def __init__(self, addrport='', id=None, loglevel=logging.INFO, logfile=None, without_httpd=False, numc=2, sup_interval=None, ready_event=None, colored=None, **kwargs): self.id = id or gen_unique_id() if isinstance(addrport, basestring): addr, _, port = addrport.partition(':') addrport = (addr, int(port) if port else 8000) self.addrport = addrport self.connection = celery.broker_connection() self.without_httpd = without_httpd self.logfile = logfile self.loglevel = loglevel self.numc = numc self.ready_event = ready_event self.exit_request = Event() self.colored = colored or term.colored(enabled=False) self.httpd = None gSup = find_symbol(self, self.intsup_cls) if not self.without_httpd: self.httpd = MockSup(instantiate(self, self.httpd_cls, addrport), signals.httpd_ready) self.supervisor = gSup(instantiate(self, self.supervisor_cls, sup_interval), signals.supervisor_ready) self.controllers = [gSup(instantiate(self, self.controller_cls, id='%s.%s' % (self.id, i), connection=self.connection, branch=self), signals.controller_ready) for i in xrange(1, numc + 1)] c = [self.supervisor] + self.controllers + [self.httpd] c = self.components = list(filter(None, c)) self._components_ready = dict(zip([z.thread for z in c], [False] * len(c))) for controller in self.controllers: if hasattr(controller.thread, 'presence'): self._components_ready[controller.thread.presence] = False self._components_shutdown = dict(self._components_ready) super(Branch, self).__init__()
def add_queue(self, q, **kwargs): """Add queue for this instance by name.""" if isinstance(q, self.Queue): q = q.as_dict() else: queues = find_symbol(self, 'cyme.branch.controller.queues') try: q = queues.get(q) except queues.NoRouteError: self.queues.remove(q) self.save() warnings.warn( 'Removed unknown consumer: %r from %r' % (q, self.name)) return name = q['name'] options = deserialize(q['options']) if q.get('options') else {} exchange = q['exchange'] if q['exchange'] else name routing_key = q['routing_key'] if q['routing_key'] else name return self._query('add_consumer', dict(queue=q['name'], exchange=exchange, exchange_type=q['exchange_type'], routing_key=routing_key, **options), **kwargs)
def add_queue(self, q, **kwargs): """Add queue for this instance by name.""" if isinstance(q, self.Queue): q = q.as_dict() else: queues = find_symbol(self, "cyme.branch.controller.queues") try: q = queues.get(q) except queues.NoRouteError: self.queues.remove(q) self.save() warnings.warn("Removed unknown consumer: %r from %r" % (q, self.name)) return name = q["name"] options = deserialize(q["options"]) if q.get("options") else {} exchange = q["exchange"] if q["exchange"] else name routing_key = q["routing_key"] if q["routing_key"] else name return self._query( "add_consumer", dict( queue=q["name"], exchange=exchange, exchange_type=q["exchange_type"], routing_key=routing_key, **options ), **kwargs )
def local(self): return find_symbol(self, '.managers.local_instances')
def instance_dir(self): dir = find_symbol(self, 'cyme.conf.CYME_INSTANCE_DIR') / self.name dir.mkdir() return dir
def default_pool(self): return find_symbol(self, 'cyme.conf.CYME_DEFAULT_POOL')
def supervisor(self): return find_symbol(self, '.supervisor.supervisor')