我需要与所有Sanic工作人员共享一个简单的对象(字节对象)。有人知道该怎么做吗? 当然,我知道multiprocessing.Array,但是如何通过Sanic API将其传播给所有工作人员?
答案 0 :(得分:0)
此能力在sanic中不存在。您可以创建一个问题,并询问是否可以添加它。您可以使用此示例代码添加字典。
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)