Exemple #1
0
 def __init__(self,
              connection=None,
              id=None,
              name=None,
              exchange=None,
              logger=None,
              agent=None,
              **kwargs):
     self.connection = connection
     self.id = id or uuid()
     self.name = name or self.name or self.__class__.__name__
     self.exchange = exchange or self.exchange
     self.agent = agent
     self.type_to_queue = {
         'direct': self.get_direct_queue,
         'round-robin': self.get_rr_queue,
         'scatter': self.get_scatter_queue
     }
     if self.default_fields is None:
         self.default_fields = {}
     if not self.exchange:
         self.exchange = Exchange('cl.%s' % (self.name, ),
                                  'direct',
                                  auto_delete=True)
     logger_name = self.name
     if self.agent:
         logger_name = '%s#%s' % (self.name, shortuuid(self.agent.id, ))
     self.log = Log('!<%s>' % (logger_name, ), logger=logger)
     self.state = self.contribute_to_state(self.construct_state())
     self.setup()
Exemple #2
0
    def __init__(self,
                 connection=None,
                 id=None,
                 name=None,
                 exchange=None,
                 logger=None,
                 agent=None,
                 outbox_exchange=None,
                 group_exchange=None,
                 **kwargs):
        self.connection = connection
        self.id = id or uuid()
        self.name = name or self.name or self.__class__.__name__
        self.outbox_exchange = outbox_exchange or self.outbox_exchange
        self.agent = agent

        if self.default_fields is None:
            self.default_fields = {}

        # - setup exchanges and queues
        self.exchange = exchange or self.get_direct_exchange()
        if group_exchange:
            self._scatter_exchange = Exchange(group_exchange,
                                              'fanout',
                                              auto_delete=True)

        typemap = {
            ACTOR_TYPE.DIRECT: [self.get_direct_queue, self._inbox_direct],
            ACTOR_TYPE.RR: [self.get_rr_queue, self._inbox_rr],
            ACTOR_TYPE.SCATTER: [self.get_scatter_queue, self._inbox_scatter]
        }

        self.type_to_queue = {k: v[0] for k, v in items(typemap)}
        self.type_to_exchange = {k: v[1] for k, v in items(typemap)}

        if not self.outbox_exchange:
            self.outbox_exchange = Exchange(
                'cl.%s.output' % self.name,
                type='topic',
            )
        # - setup logging
        logger_name = self.name
        if self.agent:
            logger_name = '%s#%s' % (self.name, shortuuid(self.id))
        self.log = Log('!<%s>' % logger_name, logger=logger)
        self.state = self.contribute_to_state(self.construct_state())

        # actor specific initialization.
        self.construct()
Exemple #3
0
 def setUp(self):
     self.log = Log('Log', Mock())
     self.logger = self.log.logger
Exemple #4
0
 def test_Log_get_logger(self):
     self.assertIs(Log('test_Log').get_logger(),
                   logging.getLogger('test_Log'))
Exemple #5
0
 def test_Log_get_logger(self):
     assert Log('test_Log').get_logger() is logging.getLogger('test_Log')