Назад | Перейти на главную страницу

Celery Daemon получает незарегистрированные задачи

Я установил Celery для своего проекта Django, следуя официальному руководству / документу. И он работает нормально, когда я запускаю сельдерей в командной строке, я вижу, как он получает задачи и выполняет их. Но как только все заработало, я решил еще немного следовать документации, чтобы демонизировать сельдерей и оставить его работать все время. Поэтому я попробовал предоставленные сценарии инициализации celeryd в системе Ubuntu со сценарием / etc / default / celeryd. Я соответственно изменил значения, и он запускается правильно, но когда он получает задачу, журнал говорит:

ERROR/MainProcess] Received unregistered task of type 'likes.tasks.test'.
The message has been ignored and discarded.

Did you remember to import the module containing this task?
Or maybe you are using relative imports?
Please see http://bit.ly/gLye1c for more information.

И затем я получаю подробную информацию о том, о чем была задана задача. Опять же, эта задача отлично работает, когда я запускаю сельдерей в командной строке без какой-либо конфигурации. Что могло тогда пойти не так? Я использую виртуальную среду на случай, если это что-то изменит, но я тоже указал это в конфигурационном файле.

Поздний ответ, но может это кому-то поможет.

Ты видел http://docs.celeryproject.org/en/latest/userguide/tasks.html#automatic-naming-and-relative-imports ?

Вы должны начать рабочий с --loglevel=info, таким образом он будет регистрировать список зарегистрированных задач при запуске. Вы должны убедиться, что имена, под которыми зарегистрированы задачи, соответствуют имени, которое вы отправляете в сообщениях.