Сообщение об ошибке «Не удалось найти обработчики для регистратора« многопроцессорная обработка »с использованием Celery - PullRequest
3 голосов
/ 05 июня 2011

RabbitMQ теперь, кажется, работает правильно.Однако, когда я пытаюсь

python -m celery.bin.celeryd --loglevel=INFO` 

(обычный celeryd не работает), я получаю сообщение об ошибке

Не удается найти обработчики для средства ведения журнала "многопроцессорная обработка" `),

Вот полный вывод (слегка отредактированный):

[2011-06-06 02:08:08,105: WARNING/MainProcess] -------------- celery@blahblah v2.2.6
---- **** -----
--- * ***  * -- [Configuration]
-- * - **** ---   . broker:      amqplib://blah@localhost:5672/vhost
- ** ----------   . loader:      celery.loaders.default.Loader
- ** ----------   . logfile:     [stderr]@INFO
- ** ----------   . concurrency: 2
- ** ----------   . events:      OFF
- *** --- * ---   . beat:        OFF
-- ******* ----
--- ***** ----- [Queues]
 --------------   . celery:      exchange:celery (direct) binding:celery


[Tasks]
  . tasks.add
[2011-06-06 02:08:08,812: WARNING/MainProcess] celery@blahblah has started
.
No handlers could be found for logger "multiprocessing"
No handlers could be found for logger "multiprocessing"

Я бы очень хотел настроить его правильно, поэтому я могу перейти к его использованию с Django!

(Это не моя первая ошибка, когда обработчики не найдены ошибка, но мне не удается найти что-либо в Интернете по этому поводу ...)

Ответы [ 3 ]

1 голос
/ 05 июня 2011

Необходимо убедиться, что все процессы, запущенные из основного процесса, также правильно настроили ведение журнала. Вот пост , в котором обсуждается, как лучше всего вести запись с multiprocessing. Хотя в нем обсуждаются функции, входящие в состав Python 3.2, вы также можете получить эту функцию для более ранних версий Python - см. этот другой пост .

Обновление: Суть в том, что каждый процесс должен инициализировать ведение журнала, и вам необходимо упорядочить это в своем коде, аналогично тому, что сделано в примере в первом посте: см. 1010 * и worker_configurer. Вы можете использовать logutils, чтобы помочь вам, но главное - осознать, что каждый процесс должен настраивать ведение журнала, если вы хотите избежать сообщения «не найдены обработчики».

0 голосов
/ 10 апреля 2014

Убедитесь, что каталог файла журнала существует, и процессы имеют разрешение на запись в каталог журнала.

Я столкнулся с подобной проблемой, после создания каталога местоположения файла журнала проблема ушла.

0 голосов
/ 08 июля 2011

Кажется, что-то странное в том, как сельдерей инициализирует логирование.Если я добавлю переключатель --logfile=yourfile.log в командную строку, он будет работать надежно, но чтение журнала из конфигурации дает ненадежные результаты, включая то, что вы видите.

...