__init__.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # -*- coding: utf-8 -*-
  2. """
  3. celery.task
  4. ~~~~~~~~~~~
  5. Creating tasks, subtasks, sets and chords.
  6. :copyright: (c) 2009 - 2012 by Ask Solem.
  7. :license: BSD, see LICENSE for more details.
  8. """
  9. from __future__ import absolute_import
  10. from celery.app.state import current_app, current_task as current
  11. from celery.__compat__ import MagicModule, recreate_module
  12. from celery.local import Proxy
  13. class module(MagicModule):
  14. def __call__(self, *args, **kwargs):
  15. return self.task(*args, **kwargs)
  16. old_module, new_module = recreate_module(__name__,
  17. by_module={
  18. "celery.task.base": ["BaseTask", "Task", "PeriodicTask",
  19. "task", "periodic_task"],
  20. "celery.canvas": ["chain", "group", "chord", "subtask"],
  21. "celery.task.sets": ["TaskSet"],
  22. },
  23. base=module,
  24. __package__="celery.task",
  25. __file__=__file__,
  26. __path__=__path__,
  27. __doc__=__doc__,
  28. current=current,
  29. discard_all=Proxy(lambda: current_app.control.discard_all),
  30. backend_cleanup=Proxy(
  31. lambda: current_app.tasks["celery.backend_cleanup"]
  32. ),
  33. )