Django 流氓加速过程

Django 流氓加速过程,django,celery,supervisord,celerybeat,Django,Celery,Supervisord,Celerybeat,我们正在运行一个Django网站,其中有一名芹菜工人,还有一名芹菜工人。有时,我们会有一个恶意的芹菜节拍进程,它会在主管重新启动时继续运行,或者主管中的作业重新启动,我不确定这到底是什么时候发生的。基本上,我们最终运行了两个芹菜节拍进程,它们复制了这些任务。这是一个问题,因为一个任务发送提醒电子邮件,当这种情况发生时,我们的许多用户会收到重复的电子邮件 有没有人有类似的经验,芹菜殴打和主管。有没有办法检查一个且只有一个芹菜节拍进程始终在运行?也许有更好的答案,但这就是我到目前为止想到的 我认为流

我们正在运行一个Django网站,其中有一名芹菜工人,还有一名芹菜工人。有时,我们会有一个恶意的芹菜节拍进程,它会在主管重新启动时继续运行,或者主管中的作业重新启动,我不确定这到底是什么时候发生的。基本上,我们最终运行了两个芹菜节拍进程,它们复制了这些任务。这是一个问题,因为一个任务发送提醒电子邮件,当这种情况发生时,我们的许多用户会收到重复的电子邮件


有没有人有类似的经验,芹菜殴打和主管。有没有办法检查一个且只有一个芹菜节拍进程始终在运行?

也许有更好的答案,但这就是我到目前为止想到的

我认为流氓程序发生在我们重新启动supervisor的部署过程中。我从这里开始:

fab.sudo('supervisorctl restart all')
为此:

fab.sudo('supervisorctl stop all')
with fab.settings(warn_only=True):
    fab.run("ps auxww | grep 'celery' | awk '{print $2}' | xargs kill -9")
fab.sudo('supervisorctl start all')
这似乎可行,但我不确定这是否是最可靠的解决方案。

这个问题是否相关?