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.
incr(key, delta=1)[source]
items()[source]
iteritems()
iterkeys()
itervalues()
keys()[source]
update(*args, **kwargs)[source]
values()[source]
celery.utils.functional.is_list(l, scalars=(<class '_abcoll.Mapping'>, <type 'basestring'>), iters=(<class '_abcoll.Iterable'>, ))

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'>))

Return list of one element if l is a scalar.

celery.utils.functional.memoize(maxsize=None, keyfun=None, Cache=<class celery.utils.functional.LRUCache at 0x03AF6420>)[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.

evaluate()[source]
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 return None on missing attributes instead of raising AttributeError.

celery.utils.functional.uniq(it)[source]

Return all unique elements in it, preserving order.

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 is None

class celery.utils.functional.lazy(fun, *args, **kwargs)

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__().
evaluate()
celery.utils.functional.maybe_evaluate(value)

Evaluates if the value is a lazy instance.

Previous topic

celery.utils

Next topic

celery.utils.objects

This Page