python - 将 celery worker 作为守护进程运行时不要创建 pidfile 和 logfile

标签 python django redis celery django-celery

在运行 celery 时,使用以下命令创建两个我不想要的文件 w1.logw1.pid

celery multi start w1 -A destiPak.celery -l info

输出

celery multi v3.1.20 (Cipater)
> Starting nodes...
        > w1@foo-bar: OK

显示 worker

 celery multi show w1

输出

/Users/foo/bar/bin/python -m celery worker --detach -n w1@foo-bar --pidfile=w1.pid --logfile=w1.log --executable=/Users/foo/bar/bin/python 

建议,如何避免在 将 worker 作为守护进程运行时创建这些日志文件

最佳答案

很难理解为什么您不想要这些文件 - pid 文件只有几个字节,日志文件将包含有用的信息,您可以使用 logrotate 或其他任何方法来确保它们不要占用太多空间。

也就是说,如果您使用 supervisord要管理工作人员而不是 celery multi,您可以将其配置为不生成日志文件,而且它不使用 .pid 文件。

这里有一个 supervisord 配置文件,它应该做你想做的事

[program:celery]
command=celery worker -n w1@foo-bar
autostart=true
stdout_logfile=/dev/null
redirect_stderr=true

关于python - 将 celery worker 作为守护进程运行时不要创建 pidfile 和 logfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35960117/

相关文章:

Python:正则表达式匹配或条件?

python - 检查类是否定义了函数的最快方法是什么?

python - 如何将pytorch张量中的维度中的最小k个元素设置为特定值?

Django:检查模板的连接是否安全?

ruby-on-rails - 使用 memcached 或 redis 的 Rails cache_store 不会产生性能提升

python - ONVIF-Python + ZEEP : create_service not working

django - 如何在 Django 中加载带有圆形外键的装置?

django - 在 DRF 和 ReactJS 中实现推送通知

memory - 同一台服务器上的数百个 Redis 实例

node.js - connect-redis 不想连接到远程主机