芹菜:字典没有得到更新

时间:2017-10-31 19:02:29

标签: python python-3.x asynchronous celery

status.py

from multiprocessing import Manager
manag = Manager()
serviceLock = manag.Lock()
status_list = manag.dict()

cel.py

from celery import Celery 
import status     
app = Celery('tasks', broker='pyamqp://guest@localhost//')

@app.task
def add(req, x, y):
    status.status_list[req] = 'performing request'
    return (x+y)

main.py

 from cel import add
 import status

 req = 1
 status.status_list[req] = 'request generated'
 print(status.status_list)
 add.delay(req, 4, 4)
 print(status.status_list)

所以我有这个奇怪的输出。它每次都显示相同的列表。该列表由于某种原因没有得到更新。 输出是

{1 : 'request generated'}
{1 : 'request generated'}

但我需要的是

{1 : 'request generated'}
{1 : 'performing request'}

所有工作人员共享同一个字典。我可以在我的芹菜终端检查一下。但主要过程和芹菜都有自己的本地词典。有人可以帮我解决如何拥有统一字典的问题。

0 个答案:

没有答案