celery异步任务队列有什么办法使带副作用的函数起作用吗?


使用celery的代码如下,我的本意是想创建一个A的实例,并且用celery异步处理inc函数。


 class A():
    def __init__(self):
        self.num = 0
    def inc(self):
        self.num += 1

@celery.task
def callinc(obj):
    obj.inc()

但是创建好A的实例后,调用callinc,obj.num没有变化。


 obj=A()
callinc(obj)

再去查询obj.num,还是0.

我现在希望能让inc起副作用,我想问问大家怎么在异步情况下处理的?还是说异步下没办法起副作用?

python 异步任务队列 celery

三途川D摆渡人 11 years, 1 month ago

Your Answer