我有一個運行cron腳本的django項目,執行管理命令。此命令爲循環任務芹菜創建於:芹菜任務消失
for r in pr:
log_task(tasks_logger.info, "to_queue", r)
remind.delay(r, now, send_all)
,任務看起來是這樣的:
class RTask(Task):
abstract = True
def on_failure(self, exc, task_id, args, kwargs, einfo):
r = args[0]
log_task(logger.error, exc, r)
log_task(logger_tb.error, einfo, r)
@task(base=RTask)
def remind(r, now, send_all):
log_task(logger.info, "from_queue", r)
....
就像你看到的,我的任務執行前和裏面第一行有一個記錄器。問題是 - 在項目代碼更新後(另一個程序員添加了其他任務和芹菜版本更新),我的大多數任務開始消失。我的日誌文件看起來像這樣(只執行8-10 1任務):
[2014-03-12 12:45:08,806] 106152122 INFO to_queue
[2014-03-12 12:45:08,819] 106138932 INFO to_queue
[2014-03-12 12:45:08,915] 106121944 INFO to_queue
[2014-03-12 12:45:08,916] 110418819 INFO from_queue
[2014-03-12 12:45:08,922] 106075777 INFO to_queue
芹菜日誌文件不包含任何有用的信息。兔子也是。 它有很多這樣的東西,但它與我的任務沒有關係,或者它呢?
[2014-03-12 12:58:43,091: INFO/MainProcess] Got task from broker: celery.chord_unlock[7fe8f29f-69e1-456c-8a14-7fae0cfacc33] eta:[2014-03-12 12:58:44.089401+00:00]
[2014-03-12 12:58:43,092: INFO/MainProcess] Task celery.chord_unlock[7fe8f29f-69e1-456c-8a14-7fae0cfacc33] retry: Retry in 1s
[2014-03-12 12:58:43,092: INFO/MainProcess] Task celery.chord_unlock[7b1d4a6b-9a34-43e9-98c9-851c93ace5ce] retry: Retry in 1s
可能是什麼問題? 如何跟蹤任務以瞭解它何時消失?
請幫助=)
您是否嘗試將日誌級別設置爲DEBUG而不是INFO? – olofom
>>您是否嘗試將日誌級別設置爲DEBUG而不是INFO? 沒有附加信息=( – shaihulud
這很難說,你的問題是沒有什麼詳細信息,請首先嚐試 'rabbitmqctl list_queues' 或者如果你使用虛擬主機: 'rabbitmqctl list_queues -p' ,看到這些任務真的得到存儲在RabbitMQ中。 如果沒有,請再次檢查您的配置文件。請注意,如果您使用的是django_celery,則需要將其添加到設置: 'import djcelery; djcelery.setup_loader()'。順便說一句:如果你有多個工作人員並且正在登錄到同一個文件,你可能會遇到文件鎖定問題,一些工作人員會覆蓋其他人的線路。 –
seeg