This document describes an older version of Celery (2.5). For the latest stable version please go here.
Utility functions.
copyright: |
|
---|---|
license: | BSD, see LICENSE for more details. |
Split an iterator into chunks with n elements each.
Examples
# n == 2 >>> x = chunks(iter([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), 2) >>> list(x) [[0, 1], [2, 3], [4, 5], [6, 7], [8, 9], [10]]
# n == 3 >>> x = chunks(iter([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), 3) >>> list(x) [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10]]
Return stacktrace of all active threads.
Version of imp.find_module() supporting dots.
Returns the first element in iterable that predicate returns a True value for.
Returns a functions that with a list of instances, finds the first instance that returns a value for the given method.
The list can also contain promises (promise.)
With a function, and a list of keyword arguments, returns arguments in the list which the function takes.
If the object has an argspec attribute that is used instead of using the inspect.getargspec() introspection.
Parameters: |
|
---|
Examples
>>> def foo(self, x, y, logfile=None, loglevel=None):
... return x * y
>>> fun_takes_kwargs(foo, ["logfile", "loglevel", "task_id"])
["logfile", "loglevel"]
>>> def foo(self, x, y, **kwargs):
>>> fun_takes_kwargs(foo, ["logfile", "loglevel", "task_id"])
["logfile", "loglevel", "task_id"]
Get class by name.
The name should be the full dot-separated path to the class:
modulename.ClassName
Example:
celery.concurrency.processes.TaskPool
^- class name
or using ‘:’ to separate module and symbol:
celery.concurrency.processes:TaskPool
If aliases is provided, a dict containing short name/long name mappings, the name is looked up in the aliases first.
Examples:
>>> get_cls_by_name("celery.concurrency.processes.TaskPool") <class 'celery.concurrency.processes.TaskPool'>>>> get_cls_by_name("default", { ... "default": "celery.concurrency.processes.TaskPool"}) <class 'celery.concurrency.processes.TaskPool'># Does not try to look up non-string names. >>> from celery.concurrency.processes import TaskPool >>> get_cls_by_name(TaskPool) is TaskPool True
Get class by name.
The name should be the full dot-separated path to the class:
modulename.ClassName
Example:
celery.concurrency.processes.TaskPool
^- class name
or using ‘:’ to separate module and symbol:
celery.concurrency.processes:TaskPool
If aliases is provided, a dict containing short name/long name mappings, the name is looked up in the aliases first.
Examples:
>>> get_cls_by_name("celery.concurrency.processes.TaskPool") <class 'celery.concurrency.processes.TaskPool'>>>> get_cls_by_name("default", { ... "default": "celery.concurrency.processes.TaskPool"}) <class 'celery.concurrency.processes.TaskPool'># Does not try to look up non-string names. >>> from celery.concurrency.processes import TaskPool >>> get_cls_by_name(TaskPool) is TaskPool True
Import module, but make sure it finds modules located in the current directory.
Modules located in the current directory has precedence over modules located in sys.path.
Instantiate class by name.
See get_cls_by_name().
Left precedent dictionary merge. Keeps values from l, if the value in r is None.
Like operator.itemgetter() but returns None on missing attributes instead of raising AttributeError.
Reraise if an exception is currently being handled, or return otherwise.
Memoized promise.
The function is only evaluated once, every subsequent access will return the same value.
Set to to True after the promise has been evaluated.
No operation.
Takes any arguments/keyword arguments and does nothing.
Pad list with default elements.
Examples:
>>> first, last, city = padlist(["George", "Costanza", "NYC"], 3)
("George", "Costanza", "NYC")
>>> first, last, city = padlist(["George", "Costanza"], 3)
("George", "Costanza", None)
>>> first, last, city, planet = padlist(["George", "Costanza",
"NYC"], 4, default="Earth")
("George", "Costanza", "NYC", "Earth")
Indent text.
Truncates text to a maximum number of characters.