aiomultiprocess Pool 实现task reload 的一些说明

aiomultiprocess Pool 有一些默认参数,与worker 模式不同的是进程池,所以模块会有cache 的问题,有一些方法可以解决

一些参数

  • maxtasksperchild

当为1的时候会reload,但是就失去进程池的价值了,可以按需配置一个合理的参数

  • 通过变动动态创建Pool

通过检测模块的变动,按需动态创建

  • 按需每次都reload 模块(进程task 中)
async def do_task(module_name, task_name):
    module = importlib.import_module(module_name)
    ns = Collection.from_module(module)
    importlib.reload(module)

说明

以上是一些简单说明,进程池很不错,但是如果需要reload 场景,就需要一些其他配置了

参考资料

https://aiomultiprocess.omnilib.dev/en/latest/api.html#process-pools

https://aiomultiprocess.omnilib.dev/en/latest/guide.html#process-pools

posted on 2026-09-22 08:00  荣锋亮  阅读(5)  评论(0)    收藏  举报

导航