Python+;uwsgi-多处理和共享应用程序状态
我们有一个flask应用程序在uwsgi后面运行,有4个进程。它是一个API,提供来自我们两个ElasticSearch集群之一的数据 在应用程序引导中,每个进程从外部数据库提取配置,以检查哪个ES群集处于活动状态并连接到它 每个POST请求(来自aws SNS服务),通知所有客户端切换ES群集。这将触发与引导上相同的功能—从DB重新连接到活动ES群集的pull config 它可以作为单个进程运行,但是当我们有多个进程运行时,只有其中一个进程会得到更新(接收POST请求的那个进程)。。。其他进程仍连接到非活动群集的位置Python+;uwsgi-多处理和共享应用程序状态,python,flask,multiprocessing,uwsgi,Python,Flask,Multiprocessing,Uwsgi,我们有一个flask应用程序在uwsgi后面运行,有4个进程。它是一个API,提供来自我们两个ElasticSearch集群之一的数据 在应用程序引导中,每个进程从外部数据库提取配置,以检查哪个ES群集处于活动状态并连接到它 每个POST请求(来自aws SNS服务),通知所有客户端切换ES群集。这将触发与引导上相同的功能—从DB重新连接到活动ES群集的pull config 它可以作为单个进程运行,但是当我们有多个进程运行时,只有其中一个进程会得到更新(接收POST请求的那个进程)。。。其他进
在每个请求上拉配置以确保我们使用的ES集群处于活动状态会减慢速度。我想在本地安装redis并将活动的集群存储在那里。。。还有其他想法吗?我想你可以走两条路
- 不必在每次请求时都点击redis
- 让uWSGI为您处理重启(它做得很好)
- 无论如何,您已经在运行时设置了配置拉取,因此它应该“只工作”于您现有的应用程序