以守护进程形式运行 Python Celery 时出现问题

以守护进程形式运行 Python Celery 时出现问题

我在 Ubuntu EC2 实例上设置并运行了 Celery 作为守护进程。今天早上我更新了一些任务并尝试重新启动 Celery,但它没有工作。经过一番努力,我发现:

  • 芹菜将要如果我运行命令sudo /usr/local/bin/celeryd --time-limit=300 -f /var/log/celeryd.log -l INFO(即 init 脚本正在使用的命令),它就会启动。
  • 芹菜将不会如果我运行 ,则运行sudo service celeryd start。在这种情况下,启动脚本将报告它已启动并将.pid在 中创建一个文件/var/run,但该进程不存在/已停止。

有没有关于如何修复此问题的提示?我恢复了对任务文件和 celeryconfig 模块的所有更改,但这似乎无助于它作为守护进程运行。我正在使用来自 git repo 的初始化脚本

答案1

在我的案例中,问题是由于文件权限问题。我用于 Celery 的用户无法读取celeryconfig和文件。我通过从脚本中删除该选项解决了这个问题,然后看到了 Python 导入错误。tasks--backgroundinit.d

相关内容