【发布时间】:2012-10-10 08:02:50
【问题描述】:
我正在像这样运行一个芹菜工人:
celery worker --app=portalmq --logfile=/tmp/portalmq.log --loglevel=INFO -E --pidfile=/tmp/portalmq.pid
现在我想在后台运行这个工人。我尝试了几件事,包括:
nohup celery worker --app=portalmq --logfile=/tmp/portal_mq.log --loglevel=INFO -E --pidfile=/tmp/portal_mq.pid >> /tmp/portal_mq.log 2>&1 </dev/null &
但它不起作用。我检查了 celery 文档,发现了这个:
特别是这条评论是相关的:
In production you will want to run the worker in the background as a daemon.
To do this you need to use the tools provided by your platform, or something
like supervisord (see Running the worker as a daemon for more information).
这对于在后台运行进程来说开销太大。我需要在我的服务器中安装 supervisord,并熟悉它。暂时不去。有没有一种简单的方式在后台运行 celery worker?
【问题讨论】:
-
您还需要更多的东西吗? celery worker --app=portalmq --logfile=/tmp/portalmq.log --loglevel=INFO -E --pidfile=/tmp/portalmq.pid &
-
正如我所说,这行不通。工人在初始化后就停止了。
-
& 在没有 nohup 的情况下为我工作。顺便说一句,您还可以在分离的屏幕中运行工作程序。我仍然认为您可以在更短的时间内配置主管(并且可以很好地部署 celery)
-
你是对的,没有 nohup 它正在工作。我不知道以前出了什么问题,但我已经尝试过了。
标签: background celery