gpt4 book ai didi

python - 为什么要重新初始化多进程工作人员?

转载 作者:行者123 更新时间:2023-12-01 06:45:23 25 4
gpt4 key购买 nike

我在 Python 多处理池库文档中找到了此注释:

Worker processes within a Pool typically live for the complete duration of the Pool’s work queue. A frequent pattern found in other systems (such as Apache, mod_wsgi, etc) to free resources held by workers is to allow a worker within a pool to complete only a set amount of work before being exiting, being cleaned up and a new process spawned to replace the old one. The maxtasksperchild argument to the Pool exposes this ability to the end user.

它说 Apache 和其他人重新初始化多进程实体,这使其成为一个很好的模式。是关于重新初始化对象(如“OOP”对象)以调用垃圾收集器吗?它为什么如此重要?当多处理对象存在时不能使用GC吗?

最佳答案

主要用例之一是避免小泄漏(内存、fd...)影响长时间运行的服务。

由于软件并不完美,经常会出现某些库没有正确清理的情况。由于这些问题超出了开发人员的控制范围,一个简单的解决方法是定期终止泄漏进程并重新开始。

另一个用例是控制服务的内存消耗。例如,Python 内存碎片经常导致工作人员消耗比需要的更多的内存。

关于python - 为什么要重新初始化多进程工作人员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59243118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com