Esempio n. 1
0
 def reset(self):
     debug('Resetting active actors')
     for actor in values(self.registry):
         if actor.consumer:
             ignore_errors(self.connection, actor.consumer.cancel)
         actor.connection = self.connection
         self._start_actor_consumer(actor)
Esempio n. 2
0
 def reset(self):
     debug('Resetting active actors')
     for actor in values(self.registry):
         if actor.consumer:
             ignore_errors(self.connection, actor.consumer.cancel)
         actor.connection = self.connection
         self._start_actor_consumer(actor)
Esempio n. 3
0
 def close(self):
     for fd in values(self._chan_to_sock):
         try:
             self.poller.unregister(fd)
         except (KeyError, ValueError):
             pass
     self._channels.clear()
     self._fd_to_chan.clear()
     self._chan_to_sock.clear()
Esempio n. 4
0
 def close(self):
     for fd in values(self._chan_to_sock):
         try:
             self.poller.unregister(fd)
         except (KeyError, ValueError):
             pass
     self._channels.clear()
     self._fd_to_chan.clear()
     self._chan_to_sock.clear()
Esempio n. 5
0
 def periodic(self):
     workers = self.state.workers
     dirty = set()
     for worker in values(workers):
         if not worker.alive:
             dirty.add(worker)
             self.on_node_lost(worker)
     for worker in dirty:
         workers.pop(worker.hostname, None)
Esempio n. 6
0
 def periodic(self):
     workers = self.state.workers
     dirty = set()
     for worker in values(workers):
         if not worker.alive:
             dirty.add(worker)
             self.on_node_lost(worker)
     for worker in dirty:
         workers.pop(worker.hostname, None)
Esempio n. 7
0
 def __enter__(self):
     # The __warningregistry__'s need to be in a pristine state for tests
     # to work properly.
     warnings.resetwarnings()
     for v in values(sys.modules):
         if getattr(v, '__warningregistry__', None):
             v.__warningregistry__ = {}
     self.warnings_manager = warnings.catch_warnings(record=True)
     self.warnings = self.warnings_manager.__enter__()
     warnings.simplefilter('always', self.expected)
     return self
Esempio n. 8
0
File: utils.py Progetto: celery/cell
 def __enter__(self):
     # The __warningregistry__'s need to be in a pristine state for tests
     # to work properly.
     warnings.resetwarnings()
     for v in values(sys.modules):
         if getattr(v, '__warningregistry__', None):
             v.__warningregistry__ = {}
     self.warnings_manager = warnings.catch_warnings(record=True)
     self.warnings = self.warnings_manager.__enter__()
     warnings.simplefilter('always', self.expected)
     return self
Esempio n. 9
0
 def _collect(self, connection):
     if connection is not None:
         for channel in values(connection.channels):
             channel.connection = None
         try:
             os.close(connection.fileno())
         except OSError:
             pass
         connection.channels.clear()
         connection.callbacks.clear()
     self.client.drain_events = None
     self.client = None
Esempio n. 10
0
 def _collect(self, connection):
     if connection is not None:
         for channel in values(connection.channels):
             channel.connection = None
         try:
             os.close(connection.fileno())
         except OSError:
             pass
         connection.channels.clear()
         connection.callbacks.clear()
     self.client.drain_events = None
     self.client = None
Esempio n. 11
0
 def _shutdown(self, cancel=True, close=True, clear=True):
     try:
         for actor in values(self.registry):
             if actor and actor.consumer:
                 if cancel:
                     ignore_errors(self.connection,
                                   actor.consumer.cancel)
                 if close and actor.consumer.channel:
                     ignore_errors(self.connection,
                                   actor.consumer.channel.close)
     finally:
         if clear:
             self.registry.clear()
Esempio n. 12
0
 def _shutdown(self, cancel=True, close=True, clear=True):
     try:
         for actor in values(self.registry):
             if actor and actor.consumer:
                 if cancel:
                     ignore_errors(self.connection,
                                   actor.consumer.cancel)
                 if close and actor.consumer.channel:
                     ignore_errors(self.connection,
                                   actor.consumer.channel.close)
     finally:
         if clear:
             self.registry.clear()
Esempio n. 13
0
def iter_open_logger_fds():
    seen = set()
    loggers = list(values(logging.Logger.manager.loggerDict)) + [logging.getLogger(None)]
    for logger in loggers:
        try:
            for handler in logger.handlers:
                try:
                    if handler not in seen:  # pragma: no cover
                        yield handler.stream
                        seen.add(handler)
                except AttributeError:
                    pass
        except AttributeError:  # PlaceHolder does not have handlers
            pass
Esempio n. 14
0
def iter_open_logger_fds():
    seen = set()
    loggers = logging.Logger.manager.loggerDict
    for logger in values(logging.Logger.manager.loggerDict):
        try:
            for handler in logger.handlers:
                try:
                    if handler not in seen:
                        yield handler.stream
                        seen.add(handler)
                except AttributeError:
                    pass
        except AttributeError:  # PlaceHolder does not have handlers
            pass
Esempio n. 15
0
File: log.py Progetto: zksfyz/celery
def iter_open_logger_fds():
    seen = set()
    loggers = (list(values(logging.Logger.manager.loggerDict)) +
               [logging.getLogger(None)])
    for l in loggers:
        try:
            for handler in l.handlers:
                try:
                    if handler not in seen:  # pragma: no cover
                        yield handler.stream
                        seen.add(handler)
                except AttributeError:
                    pass
        except AttributeError:  # PlaceHolder does not have handlers
            pass
Esempio n. 16
0
 def start(self, c):
     info("mingle: searching for neighbors")
     I = c.app.control.inspect(timeout=1.0, connection=c.connection)
     replies = I.hello(c.hostname, revoked._data) or {}
     replies.pop(c.hostname, None)
     if replies:
         info("mingle: sync with %s nodes", len([reply for reply, value in items(replies) if value]))
         for reply in values(replies):
             if reply:
                 try:
                     other_clock, other_revoked = MINGLE_GET_FIELDS(reply)
                 except KeyError:  # reply from pre-3.1 worker
                     pass
                 else:
                     c.app.clock.adjust(other_clock)
                     revoked.update(other_revoked)
         info("mingle: sync complete")
     else:
         info("mingle: all alone")
Esempio n. 17
0
 def start(self, c):
     info('mingle: searching for neighbors')
     I = c.app.control.inspect(timeout=1.0, connection=c.connection)
     replies = I.hello(c.hostname, revoked._data) or {}
     replies.pop(c.hostname, None)
     if replies:
         info('mingle: sync with %s nodes',
              len([reply for reply, value in items(replies) if value]))
         for reply in values(replies):
             if reply:
                 try:
                     other_clock, other_revoked = MINGLE_GET_FIELDS(reply)
                 except KeyError:  # reply from pre-3.1 worker
                     pass
                 else:
                     c.app.clock.adjust(other_clock)
                     revoked.update(other_revoked)
         info('mingle: sync complete')
     else:
         info('mingle: all alone')
Esempio n. 18
0
 def close(self):
     super(Channel, self).close()
     for queue in values(self.queues):
         queue.empty()
     self.queues = {}
Esempio n. 19
0
 def _put_fanout(self, exchange, message, **kwargs):
     for queue in values(self.queues):
         queue.put(message)