在cherrypy中启动芹菜任务

2024-09-27 00:17:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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


Tags: pyrestfulbackend代理sqlitecreatebrokerresult
1条回答
网友
1楼 · 发布于 2024-09-27 00:17:26

如果您在调试模式下运行celeryd(celeryd -l debug),您应该得到一个提示:

[2012-02-15 09:34:35,484: ERROR/MainProcess] Received unregistered task of type 'default.create_agent'.
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.

(为了将来参考,当您遇到这样的问题时,请以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。我能够重现您的问题,上面的修复对我有效。在

我希望这有帮助。在

相关问题 更多 >

    热门问题