Celery Daemon получает незарегистрированные задания
Я установил Celery для своего проекта Django, следуя тому, что написано в официальном руководстве. И он работает нормально, когда я запускаю celery в командной строке, я вижу, как он получает задачи и выполняет их. Но как только все заработало, я решил немного больше следовать документам, чтобы демонизировать сельдерей и постоянно его запускать. Поэтому я попробовал предоставленные скрипты инициализации 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.
И тогда я получаю детали того, о чем спрашивала задача. Опять же, эта задача отлично работает, когда я запускаю сельдерей в командной строке без какой-либо настройки. Что могло пойти не так в этот момент? Я использую виртуальную среду на случай, если она что-то изменит, но я также указал ее в файле конфигурации.
1 ответ
Поздний ответ, но, возможно, это кому-то поможет.
Вы видели http://docs.celeryproject.org/en/latest/userguide/tasks.html?
Вы должны начать рабочий с --loglevel=info
Таким образом, он будет регистрировать список зарегистрированных задач при запуске. Вы должны убедиться, что имена, для которых зарегистрированы задачи, совпадают с именами, которые вы отправляете в сообщениях.