salt.modules.celery module

Support for scheduling celery tasks. The worker is independent of salt and thus can run in a different virtualenv or on a different python version, as long as broker, backend and serializer configurations match. Also note that celery and packages required by the celery broker, e.g. redis must be installed to load the salt celery execution module.

Note

A new app (and thus new connections) is created for each task execution

salt.modules.celery.run_task(task_name, args=None, kwargs=None, broker=None, backend=None, wait_for_result=False, timeout=None, propagate=True, interval=0.5, no_ack=True, raise_timeout=True, config=None)

Execute celery tasks. For celery specific parameters see celery documentation.

CLI Example:

salt '*' celery.run_task tasks.sleep args=[4] broker=redis://localhost \
backend=redis://localhost wait_for_result=true
task_name
The task name, e.g. tasks.sleep
args
Task arguments as a list
kwargs
Task keyword arguments
broker
Broker for celeryapp, see celery documentation
backend
Result backend for celeryapp, see celery documentation
wait_for_result
Wait until task result is read from result backend and return result, Default: False
timeout
Timeout waiting for result from celery, see celery AsyncResult.get documentation
propagate
Propagate exceptions from celery task, see celery AsyncResult.get documentation, Default: True
interval
Interval to check for task result, see celery AsyncResult.get documentation, Default: 0.5
no_ack
see celery AsyncResult.get documentation. Default: True
raise_timeout
Raise timeout exception if waiting for task result times out. Default: False
config
Config dict for celery app, See celery documentation