私はcherrypyを使って安静なインターフェイスを構築しています。私はセロリのタスクを起動する必要があります しかし、これはうまくいかないと思われます。cherrypyでセロリのタスクを起動する
誰かがそのように直面していた。だから、
、私はceleryd
celeryd -l INFO
を立ち上げていますceleryconfig.py
CELERY_RESULT_BACKEND = "database"
CELERY_RESULT_DBURI = "sqlite:///celerydb.sqlite"
CELERY_IMPORTS = ("tasks",)
CELERY_RESULT_ENGINE_OPTIONS = {"echo": True}
BROKER_TRANSPORT = "sqlalchemy"
BROKER_HOST = "sqlite:///celerydb.sqlite"
そしてtasks.py
from celery.task import task
@task
def create_agent(agent_id):
print ("do something")
を持っている。また、私は要求ハンドラ(CherryPyは)
を持っていますclass Resource(object):
def POST(self):
create_agent.delay(1)
私はPythonコンソールからcreate_agent.delay(1)タスクを呼び出すことができ、セラーワーカーはタスクを取得して作業します create_agent.delay(1)がcherrypyで呼び出されたとき(適切なURLに触れることによって) Celery worker does not getその仕事はまったくありません。
以上。私はあなたがデバッグモード(celeryd -l debug
)でcelerydを実行する場合は、あなたがヒントを取得する必要python3.2
これは非常に厄介な状況でした。私は 'celeryd -l' infoコマンドをceleryconfig.pyファイルを含んでいない間接的に起動しています。私はちょうど 'cd/src'と' celeryd -l info'をして、それは魅力的に働いてくれました。助けてくれてありがとう。 –