2011-07-11 50 views
1

我下面這個教程樣品例如在Django應用程序無法正常工作

http://celeryq.org/docs/django-celery/getting-started/first-steps-with-django.html

我startd與

python manage.py celeryd

然後我myapp文件夾進行tasks.py與芹菜

from celery.decorators import task 

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

然後我把這些settings.py中

import djcelery 
djcelery.setup_loader() 

    CELERY_RESULT_BACKEND = "database" 
    CELERY_RESULT_DBURI = "mysql://user1:[email protected]/ajfdfa_rabbitmq" 

    BROKER_HOST = "localhost" 
    BROKER_PORT = 5672 
    BROKER_USER = "guest" 
    BROKER_PASSWORD = "guest" 
    BROKER_VHOST = "/" 

然後,我開始Python的外殼採用

python manage.py shell

然後,我從MYAPP導入任務

它接着鍵入

好的

但是當我鍵入函數的名稱,然後我得到錯誤

add.delay(4, 4) 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
NameError: name 'add' is not defined 

什麼,我缺少的

回答

3

殼裏面沒有你這樣做的?

from myapp import tasks 

如果是這樣,你需要調用它像這樣:

tasks.add(4,4) 

或者您需要將進口更改爲以下:

from myapp.tasks import add 
add(4,4) 
+0

謝謝哥們,我正想退出,但你救了我 – user825904

+1

@ user825904沒問題,很高興我能幫上忙。 –

+0

對我來說task.add(4,4)返回NameError .... tasks.add(4,4)解決了它。 – user1881957

相關問題