from celery.result import GroupResult, allow_join_result from celery.utils import abstract from celery.utils.functional import _regen from celery.utils.functional import chunks as _chunks from celery.utils.functional import (is_list, maybe_list, regen, seq_concat_item, seq_concat_seq) from celery.utils.objects import getitem_property from celery.utils.text import remove_repeating_from_task, truncate __all__ = ( 'Signature', 'chain', 'xmap', 'xstarmap', 'chunks', 'group', 'chord', 'signature', 'maybe_signature', ) # json in Python 2.7 borks if dict contains byte keys. JSON_NEEDS_UNICODE_KEYS = PY3 and not try_import('simplejson') def maybe_unroll_group(g): """Unroll group with only one member.""" # Issue #1656 try: size = len(g.tasks) except TypeError: try: size = g.tasks.__length_hint__() except (AttributeError, TypeError): return g else: return list(g.tasks)[0] if size == 1 else g else:
def test_imports(self): self.assertTrue(try_import(__name__))
def test_when_default(self): default = object() self.assertIs(try_import("foobar.awqewqe.asdwqewq", default), default)
def test_imports(self): assert try_import(__name__)
def test_when_default(self): default = object() assert try_import('foobar.awqewqe.asdwqewq', default) is default
from __future__ import absolute_import import os import sys import errno import signal as _signal from celery.local import try_import _setproctitle = try_import("setproctitle") resource = try_import("resource") pwd = try_import("pwd") grp = try_import("grp") DAEMON_UMASK = 0 DAEMON_WORKDIR = "/" DAEMON_REDIRECT_TO = getattr(os, "devnull", "/dev/null") class LockFailed(Exception): pass def get_fdmax(default=None): fdmax = resource.getrlimit(resource.RLIMIT_NOFILE)[1] if fdmax == resource.RLIM_INFINITY: return default return fdmax class PIDFile(object):
from celery import signals from celery.five import items, string_t from celery.local import try_import from celery.utils.saferepr import saferepr from celery.utils.text import indent as textindent from celery.utils.timeutils import to_utc from . import routes as _routes __all__ = ["AMQP", "Queues", "task_message"] PY3 = sys.version_info[0] == 3 # json in Python2.7 borks if dict contains byte keys. JSON_NEEDS_UNICODE_KEYS = not PY3 and not try_import("simplejson") #: Human readable queue declaration. QUEUE_FORMAT = """ .> {0.name:<16} exchange={0.exchange.name}({0.exchange.type}) \ key={0.routing_key} """ task_message = namedtuple("task_message", ("headers", "properties", "body", "sent_event")) def utf8dict(d, encoding="utf-8"): return {k.decode(encoding) if isinstance(k, bytes) else k: v for k, v in items(d)} class Queues(dict):
from celery.five import PY3, items, string_t from celery.local import try_import from celery.utils.nodenames import anon_nodename from celery.utils.saferepr import saferepr from celery.utils.text import indent as textindent from celery.utils.time import maybe_make_aware from celery.app import routes as _routes __all__ = ('AMQP', 'Queues', 'task_message') #: earliest date supported by time.mktime. INT_MIN = -2147483648 # json in Python 2.7 borks if dict contains byte keys. JSON_NEEDS_UNICODE_KEYS = not PY3 and not try_import('simplejson') #: Human readable queue declaration. QUEUE_FORMAT = """ .> {0.name:<16} exchange={0.exchange.name}({0.exchange.type}) \ key={0.routing_key} """ task_message = namedtuple('task_message', ('headers', 'properties', 'body', 'sent_event')) def utf8dict(d, encoding='utf-8'): return { k.decode(encoding) if isinstance(k, bytes) else k: v for k, v in items(d)
def test_when_default(self): default = object() self.assertIs(try_import('foobar.awqewqe.asdwqewq', default), default)