1

私はこのチュートリアルに従っています

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

私はセロリを始めました

python manage.py celeryd

それから私tasks.pymyapp

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:password@localhost/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

私が欠けているもの

4

1 に答える 1

3

シェルの内側でこれを行いましたか?

from myapp import tasks

もしそうなら、あなたはそれをこのように呼ぶ必要があります:

tasks.add(4,4)

または、インポートを次のように変更する必要があります。

from myapp.tasks import add
add(4,4)
于 2011-07-11T15:28:17.283 に答える