如何停止芹菜工作者进程 - python

我在Ubuntu EC2节点上有一个Django项目,我一直在使用Celery设置异步项目。

我正在关注this和文档。

我已经可以使用以下命令在命令行上执行基本任务:

(env1)ubuntu@ip-172-31-22-65:~/projects/tp$ celery --app=myproject.celery:app worker --loglevel=INFO

开始一个工人。此后,我对Python进行了一些更改,但意识到我需要重新启动工作程序。

从命令行,我尝试了:

 ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9

但我可以看到该工作程序仍在运行。

我该如何杀死它?

编辑:

(env1)ubuntu@ip-172-31-22-65:~/projects/tp$ sudo ps auxww | grep celeryd | grep -v "grep" | awk '{print $2}' | sudo xargs kill -HUP
kill: invalid argument H

Usage:
 kill [options] <pid> [...]

Options:
 <pid> [...]            send signal to every <pid> listed
 -<signal>, -s, --signal <signal>
                        specify the <signal> to be sent
 -l, --list=[<signal>]  list all signal names, or convert one to a name
 -L, --table            list all signal names in a nice table

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see kill(1).

编辑2:

(env1)ubuntu@ip-172-31-22-65:~/projects/tp$ ps aux|grep celery
ubuntu    9756  0.0  3.4 100868 35508 pts/6    S+   15:49   0:07 /home/ubuntu/.virtualenvs/env1/bin/python3.4 /home/ubuntu/.virtualenvs/env1/bin/celery --app=tp.celery:app worker --loglevel=INFO
ubuntu    9760  0.0  3.9 255840 39852 pts/6    S+   15:49   0:05 /home/ubuntu/.virtualenvs/env1/bin/python3.4 /home/ubuntu/.virtualenvs/env1/bin/celery --app=tp.celery:app worker --loglevel=INFO
ubuntu   12760  0.0  0.0  10464   932 pts/7    S+   19:04   0:00 grep --color=auto celery

参考方案

在终端尝试一下

ps aux|grep 'celery worker'

你会看到这样

username  29042  0.0  0.6  23216 14356 pts/1    S+   00:18   0:01 /bin/celery worker ...

然后通过杀死进程ID

sudo kill -9 process_id # here 29042

如果您有多个进程,则必须使用上述kill命令杀死所有进程ID

sudo kill -9 id1 id2 id3 ...

来自芹菜文档

ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9

或者,如果您正在运行celeryd

ps auxww | grep celeryd | awk '{print $2}' | xargs kill -9

注意

如果您正在celery中运行supervisor,即使终止该进程,它也会自动重新启动(如果在主管脚本中为autorestart=True)。

创建芹菜任务的不同方法之间的区别 - python

通过查看创建芹菜任务的不同方法,我感到非常困惑。从表面上看,它们都是一样的,所以,有人可以解释一下两者之间的区别是什么。1。from myproject.tasks import app @app.task def foo(): pass 2。from celery import task @task def foo(): pass 3。from celer…

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…