from celery import Celery
app = Celery('tasks', backend='amqp://[email protected]//', broker='amqp://[email protected]//')
a_num = 0
@app.task
def addone():
global a_num
a_num = a_num + 1
return a_num
這是我用來測試芹菜的代碼。 我希望每次使用addone()時都會增加返回值。 但它總是1 爲什麼?芹菜不適用於全局變量
結果
python
>> from tasks import addone
>> r = addone.delay()
>> r.get()
1
>> r = addone.delay()
>> r.get()
1
>> r = addone.delay()
>> r.get()
1
我該如何分享價值?讓我們看看我想用任務發送一些東西。我不想每次都連接任務,我想分享一個全球連接。所以任務可以使用相同的連接。 – xren
我的猜測是你不能那樣做,但可能會有一些我不知道的魔法。 – olofom
它與異步有什麼關係? – spacediver