app.celery.ContextTask.apply_async

ContextTask.apply_async(args=None, kwargs=None, task_id=None, producer=None, link=None, link_error=None, shadow=None, **options)

Apply tasks asynchronously by sending a message.

Parameters
  • args (Tuple) – The positional arguments to pass on to the task.

  • kwargs (Dict) – The keyword arguments to pass on to the task.

  • countdown (float) – Number of seconds into the future that the task should execute. Defaults to immediate execution.

  • eta (datetime) – Absolute time and date of when the task should be executed. May not be specified if countdown is also supplied.

  • expires (float, datetime) – Datetime or seconds in the future for the task should expire. The task won’t be executed after the expiration time.

  • shadow (str) – Override task name used in logs/monitoring. Default is retrieved from shadow_name().

  • connection (kombu.Connection) – Re-use existing broker connection instead of acquiring one from the connection pool.

  • retry (bool) – If enabled sending of the task message will be retried in the event of connection loss or failure. Default is taken from the :setting:`task_publish_retry` setting. Note that you need to handle the producer/connection manually for this to work.

  • retry_policy (Mapping) – Override the retry policy used. See the :setting:`task_publish_retry_policy` setting.

  • time_limit (int) – If set, overrides the default time limit.

  • soft_time_limit (int) – If set, overrides the default soft time limit.

  • queue (str, kombu.Queue) – The queue to route the task to. This must be a key present in :setting:`task_queues`, or :setting:`task_create_missing_queues` must be enabled. See guide-routing for more information.

  • exchange (str, kombu.Exchange) – Named custom exchange to send the task to. Usually not used in combination with the queue argument.

  • routing_key (str) – Custom routing key used to route the task to a worker server. If in combination with a queue argument only used to specify custom routing keys to topic exchanges.

  • priority (int) – The task priority, a number between 0 and 9. Defaults to the priority attribute.

  • serializer (str) – Serialization method to use. Can be pickle, json, yaml, msgpack or any custom serialization method that’s been registered with kombu.serialization.registry. Defaults to the serializer attribute.

  • compression (str) – Optional compression method to use. Can be one of zlib, bzip2, or any custom compression methods registered with kombu.compression.register(). Defaults to the :setting:`task_compression` setting.

  • link (Signature) – A single, or a list of tasks signatures to apply if the task returns successfully.

  • link_error (Signature) – A single, or a list of task signatures to apply if an error occurs while executing the task.

  • producer (kombu.Producer) – custom producer to use when publishing the task.

  • add_to_parent (bool) – If set to True (default) and the task is applied while executing another task, then the result will be appended to the parent tasks request.children attribute. Trailing can also be disabled by default using the trail attribute

  • ignore_result (bool) – If set to False (default) the result of a task will be stored in the backend. If set to True the result will not be stored. This can also be set using the ignore_result in the app.task decorator.

  • publisher (kombu.Producer) – Deprecated alias to producer.

  • headers (Dict) – Message headers to be included in the message.

Returns

Promise of future evaluation.

Return type

celery.result.AsyncResult

Raises
  • TypeError – If not enough arguments are passed, or too many arguments are passed. Note that signature checks may be disabled by specifying @task(typing=False).

  • kombu.exceptions.OperationalError – If a connection to the transport cannot be made, or if the connection is lost.

Note

Also supports all keyword arguments supported by kombu.Producer.publish().