我正在使用cherrypy构建restful接口,我需要启动一些celry任务 但它似乎不起作用,我不知道为什么?在
也许有人会遇到这样的事。在
所以,我有芹菜配置.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"
以及任务.py在
^{pr2}$我要发射芹菜
celeryd -l INFO
我还有一个请求处理程序(CherryPy)
class Resource(object):
def POST(self):
create_agent.delay(1)
我可以叫create_代理。延迟(1) 任务从python控制台和cellery worker获取任务和工作 但当创造_代理。延迟(1) 在cherrypy中调用(通过触摸适当的url) 芹菜工人根本不懂这项任务。在
还有更多。我用Python3.2
如果您在调试模式下运行celeryd(
celeryd -l debug
),您应该得到一个提示:(为了将来参考,当您遇到这样的问题时,请以
debug
模式运行celeryd;info
不会告诉您太多信息。)那个一点点url指向: http://ask.github.com/celery/userguide/tasks.html#automatic-naming-and-relative-imports
您应该能够通过将decorator更改为以下内容来解决此错误:
@task(name='tasks.create_agent')
我运行的是python2.7和celery 2.3.1。我能够重现您的问题,上面的修复对我有效。在
我希望这有帮助。在
相关问题 更多 >
编程相关推荐