def delay(cls, *args, **kwargs): """Shortcut to :meth:`apply_async` but with star arguments, and doesn't support the extra options. :param \*args: positional arguments passed on to the task. :param \*\*kwargs: keyword arguments passed on to the task. :rtype: :class:`celery.result.AsyncResult` """ return apply_async(cls, args, kwargs)
def apply_async(cls, args=None, kwargs=None, **options): """Delay this task for execution by the ``celery`` daemon(s). :param args: positional arguments passed on to the task. :param kwargs: keyword arguments passed on to the task. :rtype: :class:`celery.result.AsyncResult` See :func:`celery.execute.apply_async`. """ return apply_async(cls, args, kwargs, **options)
def delay(cls, *args, **kwargs): """Delay this task for execution by the ``celery`` daemon(s). :param \*args: positional arguments passed on to the task. :param \*\*kwargs: keyword arguments passed on to the task. :rtype: :class:`celery.result.AsyncResult` See :func:`celery.execute.delay_task`. """ return apply_async(cls, args, kwargs)
def apply_async(self, args=None, kwargs=None, **options): """Delay this task for execution by the ``celery`` daemon(s). :param args: positional arguments passed on to the task. :param kwargs: keyword arguments passed on to the task. :keyword \*\*options: Any keyword arguments to pass on to :func:`celery.execute.apply_async`. See :func:`celery.execute.apply_async` for more information. :returns :class:`celery.result.AsyncResult`: """ return apply_async(self, args, kwargs, **options)
def run(self, connect_timeout=conf.AMQP_CONNECTION_TIMEOUT): """Run all tasks in the taskset. :returns: A :class:`celery.result.TaskSetResult` instance. Example >>> ts = TaskSet(RefreshFeedTask, args=[ ... (["http://foo.com/rss"], {}), ... (["http://bar.com/rss"], {}), ... ]) >>> result = ts.run() >>> result.taskset_id "d2c9b261-8eff-4bfb-8459-1e1b72063514" >>> result.subtask_ids ["b4996460-d959-49c8-aeb9-39c530dcde25", "598d2d18-ab86-45ca-8b4f-0779f5d6a3cb"] >>> result.waiting() True >>> time.sleep(10) >>> result.ready() True >>> result.successful() True >>> result.failed() False >>> result.join() [True, True] """ taskset_id = gen_unique_id() from celery.conf import ALWAYS_EAGER if ALWAYS_EAGER: subtasks = [apply(self.task, args, kwargs) for args, kwargs in self.arguments] return TaskSetResult(taskset_id, subtasks) conn = self.task.establish_connection(connect_timeout=connect_timeout) publisher = self.task.get_publisher(connection=conn) try: subtasks = [ apply_async(self.task, args, kwargs, taskset_id=taskset_id, publisher=publisher) for args, kwargs in self.arguments ] finally: publisher.close() conn.close() return TaskSetResult(taskset_id, subtasks)
def apply_part(self, arglist, taskset_id, publisher): args, kwargs, opts = mexpand(arglist, 3, default={}) return apply_async(self.task, args, kwargs, taskset_id=taskset_id, publisher=publisher, **opts)
def apply_part(self, arglist, taskset_id, publisher): """Apply a single part of the taskset.""" args, kwargs, opts = padlist(arglist, 3, default={}) return apply_async(self.task, args, kwargs, taskset_id=taskset_id, publisher=publisher, **opts)