在gunicorn进程中共享一个numpy数组

use*_*848 10 python ipc numpy flask gunicorn

我有一个存储在redis中的大型numpy数组.此数组充当索引.我想通过在gunicorn上运行的烧瓶应用程序通过http提供过滤结果,我希望gunicorn生成的所有工人都可以访问这个numpy数组.我不想每次都去redis并在内存中反序列化整个数组,而不是在启动时我想运行一些执行此操作的代码,并且每个分叉的gunicorn工作者只获取此数组的副本.问题是,我找不到任何关于如何使用gunicorn的服务器钩子的例子:http://docs.gunicorn.org/en/latest/configure.html#server-hooks 来实现这一点.可能是服务器挂钩不是正确的做法,有没有其他人做过类似的事情?

leo*_*eon 5

创建一个侦听器服务器的实例,并使您的笨蛋孩子连接到该进程以获取作为客户端所需的任何数据。这样,流程可以根据需要修改信息并向主流程请求该信息,而无需转到Redis重新加载整个数据集。

更多信息在这里:多重处理-16.6.2.10。听众和客户