sql >> Base de Datos >  >> RDS >> PostgreSQL

Comparta la conexión a postgres db a través de procesos en Python

No puede compartir con cordura una conexión de base de datos entre procesos como ese. Puedes más o menos compartir una conexión entre hilos , pero solo si se asegura de que la conexión solo sea utilizada por un subproceso a la vez. Eso no funcionará entre procesos porque hay un estado del lado del cliente para la conexión almacenada en el espacio de direcciones del cliente.

Si necesita una gran cantidad de trabajadores simultáneos, pero no usan la base de datos todo el tiempo, debe tener un grupo de trabajadores de la base de datos procesos que manejan todo el acceso a la base de datos e intercambian datos con sus otros procesos de trabajo. Cada proceso de trabajo de la base de datos tiene una conexión de base de datos. Los otros procesos solo hablan con la base de datos a través de los trabajadores de su base de datos.

Las colas de multiprocesamiento, fifos, etc. de Python ofrecen funciones de mensajería adecuadas para eso.