Django Celery Logging Лучшие практики
я пытаюсь заставить лесозаготовку сельдерея работать сDjango
, У меня есть настройки входа вsettings.py
чтобы перейти к консоли (это прекрасно работает, как ям хостинг наHeroku
). В верхней части каждого модуля у меня есть:
import logging
logger = logging.getLogger(__name__)
И в моих tasks.py у меня есть:
from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)
Это прекрасно работает для регистрации вызовов от задачи, и я получаю вывод, как это:
2012-11-13T18:05:38+00:00 app[worker.1]: [2012-11-13 18:05:38,527: INFO/PoolWorker-2] Syc feed is starting
Но если эта задача вызывает метод в другом модуле, например,queryset
метод, я получаю дубликаты записей журнала, например,
2012-11-13T18:00:51+00:00 app[worker.1]: [INFO] utils.generic_importers.ftp_processor process(): File xxx.csv already imported. Not downloaded
2012-11-13T18:00:51+00:00 app[worker.1]: [2012-11-13 18:00:51,736: INFO/PoolWorker-6] File xxx.csv already imported. Not downloaded
Я думаю, что я мог бы использовать
CELERY_HIJACK_ROOT_LOGGER = False
просто использоватьDjango
ведение журнала, но это нене работает, когда я попробую, и даже если я получу его на работу, я потеряю"PoolWorker-6"
немного чего я хочу. (Кстати, я могуt выяснить, как получить имя задачи для отображения в записи журнала от Celery, адокументы похоже указывает на то что должен).
Я подозреваю, что яМне здесь не хватает чего-то простого.