当需要0x时,Celeryd脚本打印输出2x

时间:2012-03-19 09:25:25

标签: django bash celery nohup

这是我运行celeryd的小脚本:

#!/bin/bash -x
LOG=/home/var/log/ingest.log
sudo -u apache bash -c "nohup `pwd`/bin/django celeryd --purge --beat --loglevel=INFO >> $LOG &"

我以普通用户身份运行脚本,并在请求时输入root密码。

我真的很想看到没有输出 - 所有内容都发送到日志。相反,我看到一切都翻了一番:

[2012-03-19 19:54:38,987: INFO/PoolWorker-2] Received feed. 0 new entries out of 3 to process.
[2012-03-19 19:54:38,987: INFO/PoolWorker-2] Received feed. 0 new entries out of 3 to process.
[2012-03-19 19:54:38,988: INFO/MainProcess] Task atom_ingest.walk_feed[64d8e6c7-2ab4-4082-9d67-a8ecca9a4f7a] succeeded in 1.85489702225s: None
[2012-03-19 19:54:38,988: INFO/MainProcess] Task atom_ingest.walk_feed[64d8e6c7-2ab4-4082-9d67-a8ecca9a4f7a] succeeded in 1.85489702225s: None
[2012-03-19 19:55:32,083: INFO/Beat] Scheduler: Sending due task atom_ingest.walk_feeds
[2012-03-19 19:55:32,083: INFO/Beat] Scheduler: Sending due task atom_ingest.walk_feeds
[2012-03-19 19:55:32,285: INFO/MainProcess] Got task from broker: atom_ingest.walk_feeds[e65ddc54-23a5-46a0-86df-92479f79655b]
[2012-03-19 19:55:32,285: INFO/MainProcess] Got task from broker: atom_ingest.walk_feeds[e65ddc54-23a5-46a0-86df-92479f79655b]

此输出全部来自“背景”,这意味着当我正在做其他事情时,它会在我的终端上喷出。

我不确定我的错误是否在于我对bash,celeryd,nohup,...的理解?

1 个答案:

答案 0 :(得分:0)

您可以告诉celeryd使用选项-f登录文件。

你仍会得到一些输出。 celeryd似乎忽略了任何使用输出2>&1 > /your/file/重定向的尝试。

P.S:我建议调查类似Supervisor的内容来管理您的流程。