I have a Django project on an Ubuntu EC2 node, which I have been using to set up an asynchronous using Celery
.
I am following this along with the docs.
Try this in terminal
ps aux|grep 'celery worker'
You will see like this
username 29042 0.0 0.6 23216 14356 pts/1 S+ 00:18 0:01 /bin/celery worker ...
Then kill process id by
sudo kill -9 process_id # here 29042
If you have multiple processes, then you have to kill all process id using above kill
commmand
sudo kill -9 id1 id2 id3 ...
From the celery doc
ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9
OR if you are running celeryd
ps auxww | grep celeryd | awk '{print $2}' | xargs kill -9
Note
If you are running celery
in supervisor
, even though kill the process, it automatically restarts(if autorestart=True
in supervisor script).
celery -A proj control shutdown
Edited, incremeting a litte bit.
You should use this command from the root of your project, the "proj" is the name of your project, for instance if your Django project is called DjangoApp the command should look like this
celery -a DjangApp control shutdown
this should/will stop your celery worker from the project
pkill -f "celery worker"
easy to kill process by string patterns
ps auxww | grep 'celery worker' | grep -v " grep " | awk '{print $2}' | xargs kill -9
this one is very similar to one presented before but improved because avoid the error that shows when attempt to kill the grep process..