0

我需要与所有 Sanic 工作人员共享一个简单对象(字节对象)。有人知道该怎么做吗?当然,我知道 multiprocessing.Array,但是如何通过 Sanic API 将其传播给所有工作人员?

4

1 回答 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 回答