gpt4 book ai didi

python - flask 顶部的 unicorn (临界区)

转载 作者:太空宇宙 更新时间:2023-11-04 05:52:16 25 4
gpt4 key购买 nike

当我将 gunicorn 放在具有如下方法的 Flask 服务前面时:

@app.route('/testr/', methods=['POST'])
def test():
atomic_section_here

据我了解,我可以创建多个 worker (比如说 5 个)。这是否意味着我得到 5 个进程,每个进程都有自己的解释器?还是我使用 multiprocessing 获得一个解释器生成的 5 个进程?

如果我希望临界区是原子的,我可以只在这个文件的顶层初始化一个锁并在临界区内获取它吗?

最佳答案

您从 1 个解释器中通过 multiprocessing 生成了 5 个进程。您可以在路由中使用 mutltiprocessing.Lock().aquire 并在 gunicorn.conf 中使用 preload_app = True 在工作人员之间共享锁。

Here is some reading about the design of Gunicorn, including the workers.

Here is a relevant question and answer about sharing the lock.

关于python - flask 顶部的 unicorn (临界区),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29639874/

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