Compartir datos globales estáticos entre procesos en una aplicación Gunicorn / Flask

Tengo una aplicación Flask que se ejecuta en Gunicorn, que usa el tipo de trabajador de sincronización con 20 procesos de trabajo. La aplicación lee muchos datos al inicio, lo que lleva tiempo y usa memoria. Peor aún, cada proceso carga su propia copia, lo que hace que demore aún más y tome 20 veces más memoria. Los datos son estáticos y no cambian. Me gustaría cargarlo una vez y que los 20 trabajadores lo compartan.

Si uso elpreload_app configuración, solo se carga en un subproceso, e inicialmente solo toma 1X de memoria, pero luego parece aumentar a 20X una vez que las solicitudes comienzan a llegar. Necesito un acceso aleatorio rápido a los datos, así que prefiero no hacerloIPC.

¿Hay alguna forma de compartir datos estáticos entre los procesos de Gunicorn?

Respuestas a la pregunta(2)

Su respuesta a la pregunta