-
-
Save Gaarv/cd2fb9cadad5c03c209470be29b51fa8 to your computer and use it in GitHub Desktop.
Celery handy commands
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* Useful celery config. | |
| app = Celery('tasks', | |
| broker='redis://localhost:6379', | |
| backend='redis://localhost:6379') | |
| app.conf.update( | |
| CELERY_TASK_RESULT_EXPIRES=3600, | |
| CELERY_QUEUES=( | |
| Queue('default', routing_key='tasks.#'), | |
| Queue('hipri', routing_key='tasks.#'), | |
| ), | |
| CELERY_ROUTES={ | |
| '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/%n.pid --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 [email protected] | |
| celery -A tasks control cancel_consumer # Force all worker to cancel consuming from a queue | |
| celery -A tasks 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 | |
| # Control workers | |
| i = app.control.inspect() | |
| i = app.control.inspect(['worker1.example.com', 'worker2.example.com']) | |
| i.registered() // Show registred tasks for specified workers | |
| i.active() // 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 | |
| celery -A tasks inspect stats # Show statistic about workers |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment