使用 VirtualEnv 时将 Celery 作为守护进程运行

使用 VirtualEnv 时将 Celery 作为守护进程运行

我已经在我的 amazon linux 服务器上设置并测试了 celery,使用 mysql 作为消息后端,直接运行程序时运行良好。我的 python 项目和 celery 安装位于虚拟环境中。但是,如果我尝试使用脚本来守护 celery这里,该程序拒绝在后台运行。

我使用 CELERYD="/opt/apps/myenv/[path to celeryd]" 将 celery 的 virtualenv 安装位置传递给配置文件中的守护进程,这相当于在启动 celeryd 时使用标志 --cmd。

脚本总是在启动工作节点 1 后停止并等待,就好像我直接运行程序而不是将其守护进程化一样。此时 Celery 处于活动状态,但在我关闭终端窗口或按 ctrl-c 后停止。

我尝试过在不使用--cmd的情况下运行它,它似乎在后台运行,但工作程序无法启动,并且调用stop会返回“未知实例”。

任何建议,将不胜感激。

相关内容