禁用celerybeat的PID文件

禁用celerybeat的PID文件,celery,celerybeat,Celery,Celerybeat,celeryd不需要pidfile,但是celerybeat似乎需要。有没有办法禁用它?我使用Upstart管理流程,因此使用pidfile是多余的。以下内容似乎对一些人有效,因此我将其作为答案提交: python manage.py celerybeat --pidfile= --schedule=/var/my_app/celerybeat-schedule --pidfile=(一个空字符串,如pidfile arg)似乎会停止创建一个文件。因此,对于我来说,我在我的开发docker c

celeryd
不需要pidfile,但是
celerybeat
似乎需要。有没有办法禁用它?我使用Upstart管理流程,因此使用pidfile是多余的。

以下内容似乎对一些人有效,因此我将其作为答案提交:

python manage.py celerybeat --pidfile= --schedule=/var/my_app/celerybeat-schedule

--pidfile=
(一个空字符串,如pidfile arg)似乎会停止创建一个文件。

因此,对于我来说,我在我的开发
docker compose.yml
文件中添加了以下内容:

web
    ...
    command: bash -c "python3 manage.py makemigrations && python3 manage.py migrate --run-syncdb && python3 manage.py runserver 0.0.0.0:8982"
致:


我确信有一种更优雅的方法可以在启动甚至关闭时清理此文件?

从基本目录中删除celerybeat.pid有助于解决此问题

您是否有幸禁用pid文件?没有,即使使用
celeryd-B
也会导致创建pid文件。我基本上放弃了,只是指定了一个路径来绕过我系统上的权限限制。啊,好的。我有一个类似的情况,它不是以root运行的,所以它不能保存在/var/run或同等文件中。我发现这似乎是可行的:
python manage.py celerybeat--schedule=/var/my_app/celerybeat schedule--pidfile=
。我正在通过Django运行它,不确定这是否有效果。有一个
=
,然后在它出现后没有任何东西会阻止创建一个。如果有帮助,请告诉我。如果是的话,我们会将其作为答案提交@michael,这是个不错的选择(我也在用django芹菜)。这个问题也与Docker用户有关。非常好的建议是避免CeleryBeat在看到他必须在django Conf中创建另一个PID文件之前创建一个PID文件。我想说的是,我刚刚在supervisor上尝试了这个方法,效果很好:)完美的解决方案!为我工作!非常适合在Docker内部使用芹菜。
web
    ...
    command: bash -c "rm -rf celerybeat.pid && python3 manage.py makemigrations && python3 manage.py migrate --run-syncdb && python3 manage.py runserver 0.0.0.0:8982"