2012-08-24 29 views
10

Tôi đã viết một tập tin mytasks.pynhận được lỗi nhận nhiệm vụ đăng ký kiểu 'mytasks.add'

from celery import Celery 

celery = Celery("tasks", 
       broker='redis://localhost:6379/0', 
       backend='redis') 


@celery.task 
def add(x,y): 
     return x+y 

task.py như sau

from mytasks import add 

add.delay(1,1) 

Tôi đã bắt đầu máy chủ redis và tôi đã bắt đầu máy chủ cần tây . nhưng khi im chạy task.py sau đó tôi nhận được lỗi sau:

Received unregistered task of type 'mytasks.add'. 
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. 

The full contents of the message body was: 
{'retries': 0, 'task': 'mytasks.add', 'eta': None, 'args': (1, 1), 'expires': None, 'callbacks': None, 'errbacks': None, 'kwargs': {}, 'id': 'a4792308-d575-4de4-8b67-26982cae2fa4', 'utc': True} (173b) 

Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer.py", line 411, in on_task_received 
    strategies[name](message, body, message.ack_log_error) 
KeyError: 'mytasks.add' 

những gì có thể là lý do possibel

Trả lời

13

Hey Tôi đã giải quyết được vấn đề tôi đã có một điều tôi thêm

CELERY_IMPORTS=("mytasks") 

trong tệp celeryconfig.py của tôi và tôi đã thành công.

+0

cảm ơn, làm việc cho tôi – Anentropic

+0

nó làm việc cho tôi quá :) –

Các vấn đề liên quan