Skip to content

Instantly share code, notes, and snippets.



Forked from amatellanes/
Created Jun 10, 2021
What would you like to do?
Celery handy commands
/* Useful celery config.
app = Celery('tasks',
Queue('default', routing_key='tasks.#'),
Queue('hipri', routing_key='tasks.#'),
'tasks.tasks.add': {'queue': 'hipri'},
celery -A tasks worker --loglevel=info # run the worker
celery worker --help # list command-line options available
celery multi start w1 -A proj -l info # start one or more workers in the background
celery multi restart w1 -A proj -l info # restart workers
celery multi stop w1 -A proj -l info # stop workers aynchronously
celery multi stopwait w1 -A proj -l info # stop after executing tasks are completed
celery multi start w1 -A proj -l info --pidfile=/var/run/celery/ --logfile=/var/log/celery/%n%I.log # create pid and log files in the current directory
celery -A proj inspect active # control and inspect workers at runtime
celery -A proj inspect active
celery -A proj inspect scheduled # list scheduled ETA tasks.
celery -A proj control cancel_consumer # Force all worker to cancel consuming from a queue
celery -A proj control cancel_consumer foo -d worker1.local # Force an specified worker to cancel consuming from a queue
celery -A proj inspect active_queues # Get a list of queues that workers consume
celery -A proj inspect active_queues -d celery@worker1 # Get a list of queues that a worker consumes
celery -A proj inspect stats # show worker statistics.
celery shell -I # Drop into IPython console.
celery -A tasks result -t tasks.add dbc53a54-bd97-4d72-908c-937827009736 # See the result of a task.
# Control workers
i = app.control.inspect()
i = app.control.inspect(['', ''])
i.registered() // Show registred tasks for specified workers // Get a list of active tasks
i.scheduled // Get a list of tasks waiting to be scheduled
i.reserved() # Get a list of tasks that has been received, but are still waiting to be executed
app.control.broadcast('shutdown') # shutdown all workers
app.control.broadcast('shutdown', destination=['celer@worker'])['celer@worker'])
# Inspecting queues in Redis
LRANGE queue_name 0 10 # Redis client
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment