私はPyCharmを使用していますが、デバッガーをセロリワーカープロセスに接続すると、タスクが完了せず、このエラーがコンソールに記録されることに気付きました。
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named pydevd
このメッセージは、セロリタスクが呼び出されたときにもログに記録されます。
[2013-03-24 05:24:26,336: INFO/MainProcess] Got task from broker: celery.group[91218981-204a-414c-a674-fcd8e2b22d23]
ただし、このタスクが実際に完了することはありません。
これは、PyCharmのpydevdデバッガーをセロリワーカープロセスに接続するために使用される実際のコマンドです。
/home/scottc/venv/myproj/bin/python home/scottc/.IntelliJIdea12/config/plugins/python/helpers/pydev/pydevd.py --multiproc --client 127.0.0.1 --port 60283 --file manage.py celeryd -E -B --loglevel=INFO
PyCharmにデバッガーを接続せずにプロセスを実行するだけでは、ImportErrorメッセージが表示されず、タスクが完了します。
最後に、コードに次のように手動で入力できるため、pydevdがパスに含まれていることがわかります。
from pydev import pydevd
pydevd.settrace('my_host', port=5643, stdoutToServer=True, stderrToServer=True)
デバッガーは正常に接続します。ただし、問題は、いくつかのブレークポイントを設定してPyCharmで「デバッグ」をクリックするよりもはるかに便利ではないことです。