This document describes an older version of Celery (2.1). For the latest stable version please go here.

Task Result - celery.result

class celery.result.AsyncResult(task_id, backend=None, task_name=None)

Pending task result using the default backend.

Parameters:task_id – see task_id.
task_id

The unique identifier for this task.

backend

Instance of celery.backends.DefaultBackend.

class celery.result.BaseAsyncResult(task_id, backend, task_name=None)

Base class for pending result, supports custom task result backend.

Parameters:
task_id

The unique identifier for this task.

backend

The task result backend used.

exception TimeoutError

The operation timed out.

BaseAsyncResult.failed()

Returns True if the task failed by exception.

BaseAsyncResult.forget()

Forget about (and possibly remove the result of) this task.

BaseAsyncResult.get(timeout=None)

Alias to wait().

BaseAsyncResult.info

Get state metadata.

Alias to result().

BaseAsyncResult.ready()

Returns True if the task executed successfully, or raised an exception.

If the task is still running, pending, or is waiting for retry then False is returned.

BaseAsyncResult.result

When the task has been executed, this contains the return value.

If the task raised an exception, this will be the exception instance.

BaseAsyncResult.revoke(connection=None, connect_timeout=None)

Send revoke signal to all workers.

The workers will ignore the task if received.

BaseAsyncResult.state

The current status of the task.

Can be one of the following:

PENDING

The task is waiting for execution.

STARTED

The task has been started.

RETRY

The task is to be retried, possibly because of failure.

FAILURE

The task raised an exception, or has been retried more times than its limit. The result attribute contains the exception raised.

SUCCESS

The task executed successfully. The result attribute contains the resulting value.
BaseAsyncResult.status

Deprecated alias of state.

BaseAsyncResult.successful()

Returns True if the task executed successfully.

BaseAsyncResult.traceback

Get the traceback of a failed task.

BaseAsyncResult.wait(timeout=None)

Wait for task, and return the result when it arrives.

Parameters:timeout – How long to wait, in seconds, before the operation times out.
Raises celery.exceptions.TimeoutError:
 if timeout is not None and the result does not arrive within timeout seconds.

If the remote call raised an exception then that exception will be re-raised.

class celery.result.EagerResult(task_id, ret_value, status, traceback=None)

Result that we know has already been executed.

exception TimeoutError

The operation timed out.

EagerResult.ready()

Returns True if the task has been executed.

EagerResult.result

The tasks return value

EagerResult.revoke()
EagerResult.state

The tasks state.

EagerResult.status

The tasks status (alias to state).

EagerResult.successful()

Returns True if the task executed without failure.

EagerResult.traceback

The traceback if the task failed.

EagerResult.wait(timeout=None)

Wait until the task has been executed and return its result.

class celery.result.TaskSetResult(taskset_id, subtasks)

Working with TaskSet results.

An instance of this class is returned by TaskSet‘s apply_async(). It enables inspection of the subtasks status and return values as a single entity.

Option taskset_id:
 see taskset_id.
Option subtasks:
 see subtasks.
taskset_id

The UUID of the taskset itself.

subtasks

A list of AsyncResult instances for all of the subtasks.

completed_count()

Task completion count.

Returns:the number of tasks completed.
failed()

Did the taskset fail?

Returns:True if any of the tasks in the taskset failed. (i.e., raised an exception)
forget()

Forget about (and possible remove the result of) all the tasks in this taskset.

iterate()

Iterate over the return values of the tasks as they finish one by one.

Raises:The exception if any of the tasks raised an exception.
itersubtasks()

Taskset subtask iterator.

Returns:an iterator for iterating over the tasksets AsyncResult objects.
join(timeout=None, propagate=True)

Gather the results of all tasks in the taskset, and returns a list ordered by the order of the set.

Parameters:
  • timeout – The number of seconds to wait for results before the operation times out.
  • propagate – If any of the subtasks raises an exception, the exception will be reraised.
Raises celery.exceptions.TimeoutError:
 

if timeout is not None and the operation takes longer than timeout seconds.

Returns:

list of return values for all subtasks in order.

ready()

Is the task ready?

Returns:True if all of the tasks in the taskset has been executed.
classmethod restore(taskset_id, backend=<celery.backends.amqp.AMQPBackend object at 0x49aa950>)

Restore previously saved taskset result.

revoke(*args, **kwargs)
save(backend=<celery.backends.amqp.AMQPBackend object at 0x49aa950>)

Save taskset result for later retrieval using restore().

Example:

>>> result.save()
>>> result = TaskSetResult.restore(task_id)
successful()

Was the taskset successful?

Returns:True if all of the tasks in the taskset finished successfully (i.e. did not raise an exception).
total

The total number of tasks in the TaskSet.

waiting()

Is the taskset waiting?

Returns:True if any of the tasks in the taskset is still waiting for execution.

Previous topic

Executing Tasks - celery.execute

Next topic

Task Information and Utilities - celery.task

This Page