Вывод сценария Celeryd выводит 2x, когда требуется 0x - PullRequest
0 голосов
/ 19 марта 2012

Вот мой крошечный скрипт для запуска 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 голосов
/ 19 марта 2012

Вы можете указать celeryd войти в файл с параметром -f.

. Вы все равно получите вывод.Похоже, что celeryd игнорирует любые попытки перенаправления с выводом 2>&1 > /your/file/.

PS: я бы предложил рассмотреть что-то вроде Supervisor для управления вашими процессами.

...