セロリデーモンが未登録のタスクを受け取る


9

私のDjangoプロジェクト用のCeleryは、公式のチュートリアル/ docの指示に従ってインストールしました。コマンドラインでセロリを起動すると問題なく動作し、タスクを受け取って実行することがわかります。しかし、すべてがうまくいったら、セロリをデーモン化し、常に実行したままにするために、ドキュメントにもう少し従うことにしました。そのため、Ubuntuシステムで提供されているceleryd initスクリプトを/ 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.

そして、タスクが求めていた詳細を取得します。繰り返しますが、設定なしでコマンドラインでセロリを起動すると、このタスクは完全に機能します。その時点で何が悪かったのでしょうか?何かが変わる場合に備えて仮想環境を使用していますが、設定ファイルでも指定しています。

回答:


2

遅い答えですが、多分それは誰かを助けるでしょう。

http://docs.celeryproject.org/en/latest/userguide/tasks.html#automatic-naming-and-relative-importsを見ましたか?

ワーカーはで起動する必要--loglevel=infoがあります。これにより、起動時に登録済みタスクのリストが記録されます。タスクが登録されている名前が、メッセージで送信する名前と一致していることを確認する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.