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