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)
| 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 | } |
no test coverage detected