Сельдерей обрезает сообщения журнала

Мой журнал сельдерея последовательно усекает (не очень) длинные сообщения об ошибках, например:

[2012-04-08 04:53:10,084: INFO/MainProcess] Task mainapp.tasks.async_submitter[2df2fe93-156b-4944-9ecf-c55ba53e8aaa] succeeded in 0.190640926361s: 'An error occurred during the submission of... 

Излишне говорить, что это устраняет половину цели регистрации. Как я могу остановить это?

Я использую сельдерей с django-сельдереем (через django-supervisor с супервизором) на linux.

2 Solutions collect form web for “Сельдерей обрезает сообщения журнала”

К сожалению, сельдерей будет обрезать сообщения по умолчанию да.

Начиная с версии 3.1.7 до 3.1.9 , возможно, можно настроить этот предел, исправляя глобальный модуль:

 import celery.worker.job celery.worker.job.RESULT_MAXLEN = 1048576 # 1 Mib 

Задача, возвращаемая по дизайну, должна использоваться для дальнейшей обработки в вашем коде, и поэтому, вероятно, разработчик взял на себя право обрезать журнал, также потому, что возврат может быть довольно большим результатом разработки и может сделать нечитаемый вывод информации журнала. Конечно, я мог ошибаться, но поскольку я работаю с сельдереем, я всегда считал эту логику правильной и никогда меня не беспокоил. В вашем случае я считаю, что имеет смысл регистрировать сообщение непосредственно перед возвратом с помощью logger.info (это не будет усечено), и если сообщение, которое вы возвращаете, на самом деле не требуется для дальнейшей обработки, но только для целей ведения журнала просто не нужно вернуть любое значение.

  • Фоновая обработка в Django без сельдерея
  • Остановка супервайзера не останавливает работников сельдерея
  • Мониторинг сельдерея не работает с брокером базы данных
  • Некоторые задачи Сельдерея работают, другие - NotRegistered
  • Задача django-celery-email не выполняется
  • Как отключить модули администрирования Django Celery?
  • Лучшая практика лесозаготовки в Django Celery
  • Запуск Celery: AttributeError: объект 'module' не имеет атрибута 'celery'
  • Python - лучший язык программирования в мире.