Exemplo n.º 1
0
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:
Exemplo n.º 2
0
 def test_imports(self):
     self.assertTrue(try_import(__name__))
Exemplo n.º 3
0
 def test_when_default(self):
     default = object()
     self.assertIs(try_import("foobar.awqewqe.asdwqewq", default), default)
Exemplo n.º 4
0
 def test_imports(self):
     assert try_import(__name__)
Exemplo n.º 5
0
 def test_when_default(self):
     default = object()
     assert try_import('foobar.awqewqe.asdwqewq', default) is default
Exemplo n.º 6
0
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):
Exemplo n.º 7
0
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):
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
 def test_imports(self):
     assert try_import(__name__)
Exemplo n.º 10
0
 def test_when_default(self):
     default = object()
     assert try_import('foobar.awqewqe.asdwqewq', default) is default
Exemplo n.º 11
0
 def test_when_default(self):
     default = object()
     self.assertIs(try_import('foobar.awqewqe.asdwqewq', default), default)
Exemplo n.º 12
0
 def test_imports(self):
     self.assertTrue(try_import(__name__))