def __init__(self, args): self.args = args self.options = OrderedDict() self.values = [] self.passthrough = '' self.namespaces = defaultdict(lambda: OrderedDict()) self.parse()
def iterate(self, timeout=None, propagate=True, interval=0.5): """Iterate over the return values of the tasks as they finish one by one. :raises: The exception if any of the tasks raised an exception. """ elapsed = 0.0 results = OrderedDict( (result.id, copy(result)) for result in self.results) while results: removed = set() for task_id, result in items(results): if result.ready(): yield result.get(timeout=timeout and timeout - elapsed, propagate=propagate) removed.add(task_id) else: if result.backend.subpolling_interval: time.sleep(result.backend.subpolling_interval) for task_id in removed: results.pop(task_id, None) time.sleep(interval) elapsed += interval if timeout and elapsed >= timeout: raise TimeoutError('The operation timed out')
def __init__(self, channel, prefetch_count=0): self.channel = channel self.prefetch_count = prefetch_count or 0 self._delivered = OrderedDict() self._delivered.restored = False self._on_collect = Finalize(self, self.restore_unacked_once, exitpriority=1)
def info(self): """Get connection info.""" transport_cls = self.transport_cls or "amqplib" port = self.port or self.transport.default_port return OrderedDict( (("hostname", self.hostname), ("userid", self.userid), ("password", self.password), ("virtual_host", self.virtual_host), ("port", port), ("insist", self.insist), ("ssl", self.ssl), ("transport", transport_cls), ("connect_timeout", self.connect_timeout)))
def __init__(self, channel, prefetch_count=0): self.channel = channel self.prefetch_count = prefetch_count or 0 self._delivered = OrderedDict() self._delivered.restored = False self._dirty = set() self._quick_ack = self._dirty.add self._quick_append = self._delivered.__setitem__ self._on_collect = Finalize( self, self.restore_unacked_once, exitpriority=1, )
def __init__(self, app, block_timeout=30 * 60): self.app = app self.connerrors = self.app.connection().recoverable_connection_errors self.block_timeout = block_timeout self.tests = OrderedDict((fun.__name__, fun) for fun in [ self.manyshort, self.termbysig, self.bigtasks, self.smalltasks, self.timelimits, self.timelimits_soft, self.revoketermfast, self.revoketermslow, self.alwayskilled, ])
def info(self): """Get connection info.""" transport_cls = self.transport_cls or "amqp" transport_cls = {"amqplib": "amqp"}.get(transport_cls, transport_cls) defaults = self.transport.default_connection_params info = OrderedDict( (("hostname", self.hostname), ("userid", self.userid), ("password", self.password), ("virtual_host", self.virtual_host), ("port", self.port), ("insist", self.insist), ("ssl", self.ssl), ("transport", transport_cls), ("connect_timeout", self.connect_timeout), ("transport_options", self.transport_options), ("login_method", self.login_method))) for key, value in defaults.iteritems(): if info[key] is None: info[key] = value return info
def iterate(self, timeout=None, propagate=True, interval=0.5): """Deprecated method, use :meth:`get` with a callback argument.""" elapsed = 0.0 results = OrderedDict( (result.id, copy(result)) for result in self.results) while results: removed = set() for task_id, result in items(results): if result.ready(): yield result.get(timeout=timeout and timeout - elapsed, propagate=propagate) removed.add(task_id) else: if result.backend.subpolling_interval: time.sleep(result.backend.subpolling_interval) for task_id in removed: results.pop(task_id, None) time.sleep(interval) elapsed += interval if timeout and elapsed >= timeout: raise TimeoutError('The operation timed out')
def __init__(self, limit=None): self.limit = limit self.mutex = threading.RLock() self.data = OrderedDict()
def optmerge(self, ns, defaults=None): if defaults is None: defaults = self.options return OrderedDict(defaults, **self.namespaces[ns])
def testgroup(*funs): return OrderedDict((fun.__name__, fun) for fun in funs)