【发布时间】:2020-06-16 09:55:26
【问题描述】:
设置:我的应用程序使用多个工作器并行处理元素。处理这些元素是 CPU 密集型的,所以我需要工作进程。该应用程序将通过 Flask API 和 GUnicorn 使用。 GUnicorn 本身有多个工作进程来并行处理请求。在 Flask API 中,请求数据被放入一个队列中,我的后台应用程序的工作进程从该队列中获取这些数据。
问题:分叉工作进程非常耗时,应用程序必须满足一定的速度要求。因此,我想在应用程序启动时生成后台工作进程。为避免混合结果,我需要 n 每个 GUnicorn 工作人员的后台工作进程。
问题:如何确定在构建期间我必须生成多少后台工作人员,以及如何将这些工作人员与 GUnicorn 工作人员联系起来?
方法:我可以通过导入workers 变量从gunicorn_config.py 读取GUnicorn 工人的数量。但是,此时,我不知道 GUnicorn 工作进程 ID。他们是否有我此时可以使用的内部 ID(例如,GUnicorn worker #1,...)?
【问题讨论】:
标签: python multithreading gunicorn