This document describes the current stable version of Celery (3.1). For development docs, go here.
celery.utils.functional¶
celery.utils.functional¶
Utilities for functions.
-
class
celery.utils.functional.
LRUCache
(limit=None)[source]¶ LRU Cache implementation using a doubly linked list to track access.
Parameters: limit – The maximum number of keys to keep in the cache. When a new key is inserted and the limit has been exceeded, the Least Recently Used key will be discarded from the cache. -
iteritems
(_need_lock=False)¶
-
iterkeys
()¶
-
itervalues
(_need_lock=False)¶
-
-
celery.utils.functional.
is_list
(l, scalars=(<class '_abcoll.Mapping'>, <type 'basestring'>), iters=(<class '_abcoll.Iterable'>, ))[source]¶ Return true if the object is iterable (but not if object is a mapping or string).
-
celery.utils.functional.
maybe_list
(l, scalars=(<class '_abcoll.Mapping'>, <type 'basestring'>))[source]¶ Return list of one element if
l
is a scalar.
-
celery.utils.functional.
memoize
(maxsize=None, keyfun=None, Cache=<class celery.utils.functional.LRUCache>)[source]¶
-
class
celery.utils.functional.
mlazy
(fun, *args, **kwargs)[source]¶ Memoized lazy evaluation.
The function is only evaluated once, every subsequent access will return the same value.
-
evaluated
¶ Set to to
True
after the object has been evaluated.
-
evaluated
= False
-
-
celery.utils.functional.
noop
(*args, **kwargs)[source]¶ No operation.
Takes any arguments/keyword arguments and does nothing.
-
celery.utils.functional.
first
(predicate, it)[source]¶ Return the first element in iterable that predicate Gives a
True
value for.If predicate is None it will return the first item that is not None.
-
celery.utils.functional.
firstmethod
(method)[source]¶ Return a function that with a list of instances, finds the first instance that gives a value for the given method.
The list can also contain lazy instances (
lazy
.)
-
celery.utils.functional.
chunks
(it, n)[source]¶ 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]]
-
celery.utils.functional.
padlist
(container, size, default=None)[source]¶ 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')
-
celery.utils.functional.
mattrgetter
(*attrs)[source]¶ Like
operator.itemgetter()
but returnNone
on missing attributes instead of raisingAttributeError
.
-
celery.utils.functional.
regen
(it)[source]¶ Regen takes any iterable, and if the object is an generator it will cache the evaluated list on first access, so that the generator can be “consumed” multiple times.
-
celery.utils.functional.
dictfilter
(d=None, **kw)[source]¶ Remove all keys from dict
d
whose value isNone
-
class
celery.utils.functional.
lazy
(fun, *args, **kwargs)[source]¶ Holds lazy evaluation.
Evaluated when called or if the
evaluate()
method is called. The function is re-evaluated on every call.- Overloaded operations that will evaluate the promise:
__str__()
,__repr__()
,__cmp__()
.