我需要与所有 Sanic 工作人员共享一个简单对象(字节对象)。有人知道该怎么做吗?当然,我知道 multiprocessing.Array,但是如何通过 Sanic API 将其传播给所有工作人员?
问问题
486 次
1 回答
1
这个能力在sanic中是不存在的。您可以创建一个问题并询问是否可以添加它。您可以使用此示例代码添加 dict。
from multiprocessing import Process, Manager
def proc(d):
l = d["list"]
l.append('test')
d['list'] = l
print ('subprocess:', d)
manager = Manager()
d = manager.dict()
d["list"] = []
processes = []
for _ in range(2):
p = Process(target=proc, args=(d,))
p.daemon = True
p.start()
processes.append(p)
for process in processes:
process.join()
for process in processes:
process.terminate()
print ('main process:', d)
于 2018-12-31T20:57:54.437 回答