我试图获取celery的官方教程,但一直收到以下错误:
D:\test>celery -A tasks worker --loglevel=info
-------------- celery@BLR122S v3.0.17 (Chiastic Slide)
---- **** -----
--- * * * -- [Configuration]
-- * - **** --- . broker: amqp://guest@localhost:5672//
- ** ---------- . app: tasks:0x2a76850
- ** ---------- . concurrency: 2 (processes)
- ** ---------- . events: OFF (enable -E to monitor this worker)
- ** ----------
- * --- * --- [Queues]
-- ******* ---- . celery: exchange:celery(direct) binding:celery
--- ***** -----
[Tasks]
. tasks.add
[2013-03-29 17:50:52,533: WARNING/MainProcess] celery@BLR122S ready.
[2013-03-29 17:50:52,568: INFO/MainProcess] consumer: Connected to amqp://guest@ 127.0.0.1:5672//.
[2013-03-29 17:51:32,496: INFO/MainProcess] Got task from broker: tasks.add[8345 9233-ce54-40ed-a2a8-ee0d60768006]
[2013-03-29 17:51:32,562: ERROR/MainProcess] Task tasks.add[83459233-ce54-40ed-a 2a8-ee0d60768006] raised exception: Task of kind 'tasks.add' is not registered, please make sure it's imported.
Traceback (most recent call last):File "C:\Python27\lib\site-packages\billiard\pool.py", line 293, in worker
result = (True, func(*args, **kwds))
File "C:\Python27\lib\site-packages\celery\task\trace.py", line 320, in _fast_trace_task
return _tasks[task].__trace__(uuid, args, kwargs, request)[0]
File "C:\Python27\lib\site-packages\celery\app\registry.py", line 20, in __missing__
raise self.NotRegistered(key)
NotRegistered: 'tasks.add'
我安装了celery==3.0.17和rabbitMQ。
然后用“D:\test>celery -A tasks worker --loglevel=info
”tasks.add
似乎在[Tasks]中,但调用者:
>>> from tasks import add
>>> add.delay(1,1)
# Out: AsyncResult: 83459233-ce54-40ed-a2a8-ee0d60768006
上面的失败。有人有同样的问题吗?在
编辑: 这是我的任务.py从教程复制。在
^{pr2}$
以下将解决您的问题
在更改后使用
^{pr2}$首先尝试导入任务,我建议您在交互式python环境(如python IDE)中实现工作,然后执行以下操作:
在你写
tasks.add
之前相关问题 更多 >
编程相关推荐