compartir datos entre procesos mod_python
-
23-09-2019 - |
Pregunta
Estoy corriendo bajo Apache mod_python. Si he entendido bien, cada proceso Apache se ejecuta su propio intérprete de Python.
¿Cuál sería la mejor manera de compartir una pequeña cantidad de datos a través de todos los procesos? Estoy hablando de unos pocos cientos de bytes aquí, por lo que la base de datos basada en algo completamente exagerado.
Solución
Puesto en compartida memoria.
Otros consejos
La forma más rápida es utilizar el archivo IO. Un proceso escribe el archivo y el otro lo lee. Se puede utilizar el mmap
módulo para hacer esto un poco más fluida. Una alternativa interesante que no he probado (aún) es utilizar algún derivado de multiprocessing.Manager
para la comunicación entre los procesos. No he probado este último, que estaba buscando alguna manera de crear un semáforo proceso compartido.