Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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__()
Exemplo n.º 3
0
 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__()
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
 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
     )
Exemplo n.º 6
0
 def local(self):
     return find_symbol(self, '.managers.local_instances')
Exemplo n.º 7
0
 def local(self):
     return find_symbol(self, '.managers.local_instances')
Exemplo n.º 8
0
 def instance_dir(self):
     dir = find_symbol(self, 'cyme.conf.CYME_INSTANCE_DIR') / self.name
     dir.mkdir()
     return dir
Exemplo n.º 9
0
 def default_pool(self):
     return find_symbol(self, 'cyme.conf.CYME_DEFAULT_POOL')
Exemplo n.º 10
0
 def supervisor(self):
     return find_symbol(self, '.supervisor.supervisor')
Exemplo n.º 11
0
 def supervisor(self):
     return find_symbol(self, '.supervisor.supervisor')
Exemplo n.º 12
0
 def instance_dir(self):
     dir = find_symbol(self, 'cyme.conf.CYME_INSTANCE_DIR') / self.name
     dir.mkdir()
     return dir
Exemplo n.º 13
0
 def default_pool(self):
     return find_symbol(self, 'cyme.conf.CYME_DEFAULT_POOL')