Python:带有 init 的多处理池映射(将处理程序传递给映射函数)和 uninit
我想使用池做这样的事情:
- 对于池中的每个进程,初始化一个处理程序(数据库处理程序、http 处理程序等)。
- 使用步骤 1 中初始化的处理程序调用映射函数。
- 使用步骤 1 中初始化的处理程序调用 uninitialize 函数。
使用 Pool 和 map 可以做到这一点吗?或者我还有其他更好/更简单的选择吗?我应该编写自己的 multiprocessing.pool.worker() 吗?
这基本上就是我想做的:
# per worker lifetime
conn = httplib.HTTPConnection("localhost",8080)
# to be mapped, with conn from worker as a arg
conn.request("GET", "/some/url")
r1 = conn.getresponse()
r1.status
# per worker lifetime
conn.close()
I want to do something like this using Pool
:
- For each process in the Pool, initialize a handler (database handler, http handler, whatever).
- Call the mapped function with the handler initialized in step 1.
- Call an uninitialize function with the handler initialized in step 1.
Is that possible with Pool and map, or do I have other better/simpler choices? Should I just write my own multiprocessing.pool.worker()?
here is basically what I want to do:
# per worker lifetime
conn = httplib.HTTPConnection("localhost",8080)
# to be mapped, with conn from worker as a arg
conn.request("GET", "/some/url")
r1 = conn.getresponse()
r1.status
# per worker lifetime
conn.close()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论