Мне нужно реализовать Celery в уже существующей системе. В предыдущей версии системы уже использовалось стандартное ведение журнала Python.
Мой код аналогичен приведенному ниже. Первый и второй процессы - это не функции Celery, которые ведутся повсюду. Мы используем ведение журнала для отслеживания потери данных, если что-то случится.
@task
def add(x,y):
process_one(x,y)
process_two(x,y)
Как я могу реализовать Celery и использовать стандартное ведение журнала Python вместо ведения журнала Celery, чтобы наша старая система ведения журнала не была потеряна?
Я попытался изменить импортировать журнал
из Python в: logger = add.get_logger ()
и передать логгер
всем функциям, но я не думаю, что это хорошая практика. Мне нужно другое решение.
Обновление: чтобы добавить ведение журнала приложения в журнал Celery, вы можете выполнить:
$ manage.py celeryd -v 2 -B -s celery -E -l debug --traceback \
--settings=settings --logfile=/(path to your log folder)/celeryd.log
С помощью -l
(ведение журнала) как отладка
, наше приложение / Python ведение журнала автоматически включается в ведение журнала Celery: нет необходимости выполнять logger = add.get_logger ()
.