いずれか私は理解していないかCelery、またはそれは私のために奇妙に動作します。セロリ - 同じパラメータ、複数の呼び出し
私は、次のしているdaemon.pyモジュール:celery.taskのインポートタスクから
import time
@task
def add(x, y):
time.sleep(x + y)
return "x+y=%s" % (x + y)
コマンドで
打ち上げceleryd:
$ celeryd -I daemon -l DEBUG
を、別のPythonコンソールで、私がやりました以下:
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from daemon import add
>>> r = add.delay(100,20)
>>> r
<AsyncResult: 016a6eac-333c-4606-9f3c-ea3b38dac0ea>
そして、私はadd.delay(100,20)を繰り返すと、別のadd関数を呼び出さないと思っていましたが、現在作業しているdaemon.addのAsyncResultを返します。しかし:
>>> r2 = add.delay(100,20)
>>> r2.ready()
False
>>> r.ready()
True
だから、明らかr2は異なる呼び出しとrより異なる結果です。
私は間違っていますか?または、セロリをどのように使うべきか分かりません。
のPython 2.7、セロリ2.4.5、セロリ構成:
BROKER_URL = "amqp://guest:[email protected]:5672//"
CELERY_RESULT_BACKEND = "amqp"
REDIS_HOST = "localhost"
なぜそれが戻ってきます以前の非同期結果?あなたはそれを何と考えましたか? – jterrace
http://www.celeryproject.org/tutorials/first-steps-with-celery/私はそれを考えさせましたが、誤解されたようです。 私は例えば10分のタスクの結果をどのように得ることができますか?前のウェブは走った? – Mvoicem