PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Partager la connexion à la base de données postgres entre les processus en Python

Vous ne pouvez pas partager sainement une connexion DB entre des processus comme celui-là. Vous pouvez trier partager une connexion entre threads , mais uniquement si vous vous assurez que la connexion n'est utilisée que par un thread à la fois. Cela ne fonctionnera pas entre les processus car il existe un état côté client pour la connexion stockée dans l'espace d'adressage du client.

Si vous avez besoin d'un grand nombre de travailleurs simultanés, mais qu'ils n'utilisent pas la base de données tout le temps, vous devriez avoir un groupe de travailleur de base de données processus qui gèrent tous les accès à la base de données et échangent des données avec vos autres processus de travail. Chaque processus de travail de base de données dispose d'une connexion à la base de données. Les autres processus ne communiquent avec la base de données que via vos travailleurs de base de données.

Les files d'attente de multitraitement, fifos, etc. de Python offrent des fonctionnalités de messagerie appropriées pour cela.