MCPcopy
hub / github.com/celery/celery / apply

Method apply

celery/app/task.py:793–871  ·  view source on GitHub ↗

Execute this task locally, by blocking until the task returns. Arguments: args (Tuple): positional arguments passed on to the task. kwargs (Dict): keyword arguments passed on to the task. throw (bool): Re-raise task exceptions. Defaults to

(self, args=None, kwargs=None,
              link=None, link_error=None,
              task_id=None, retries=None, throw=None,
              logfile=None, loglevel=None, headers=None, **options)

Source from the content-addressed store, hash-verified

791 return ret
792
793 def apply(self, args=None, kwargs=None,
794 link=None, link_error=None,
795 task_id=None, retries=None, throw=None,
796 logfile=None, loglevel=None, headers=None, **options):
797 """Execute this task locally, by blocking until the task returns.
798
799 Arguments:
800 args (Tuple): positional arguments passed on to the task.
801 kwargs (Dict): keyword arguments passed on to the task.
802 throw (bool): Re-raise task exceptions.
803 Defaults to the :setting:`task_eager_propagates` setting.
804
805 Returns:
806 celery.result.EagerResult: pre-evaluated result.
807 """
808 # trace imports Task, so need to import inline.
809 from celery.app.trace import build_tracer
810
811 app = self._get_app()
812 args = args or ()
813 kwargs = kwargs or {}
814 task_id = task_id or uuid()
815 retries = retries or 0
816 if throw is None:
817 throw = app.conf.task_eager_propagates
818
819 parent_task = _task_stack.top
820 if parent_task and parent_task.request:
821 parent_id = parent_task.request.id
822 root_id = parent_task.request.root_id or task_id
823 else:
824 parent_id = None
825 root_id = task_id
826
827 # Make sure we get the task instance, not class.
828 task = app._tasks[self.name]
829
830 request = {
831 'id': task_id,
832 'task': self.name,
833 'parent_id': parent_id,
834 'root_id': root_id,
835 'retries': retries,
836 'is_eager': True,
837 'logfile': logfile,
838 'loglevel': loglevel or 0,
839 'hostname': gethostname(),
840 'callbacks': maybe_list(link),
841 'errbacks': maybe_list(link_error),
842 'headers': headers,
843 'ignore_result': options.get('ignore_result', False),
844 'delivery_info': {
845 'is_eager': True,
846 'exchange': options.get('exchange'),
847 'routing_key': options.get('routing_key'),
848 'priority': options.get('priority'),
849 }
850 }

Callers 5

apply_asyncMethod · 0.95
setup_instanceMethod · 0.45
__init__Method · 0.45
_call_task_errbacksMethod · 0.45
on_replaceMethod · 0.45

Calls 5

_get_appMethod · 0.95
build_tracerFunction · 0.90
EagerResultClass · 0.90
maybe_listFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected