在Python中跨进程共享与postgres db的连接
我有一个Python脚本作为守护程序运行。在启动时,它产生5个进程,每个进程都连接到Postgres数据库。现在,为了减少数据库连接的数量(最终将变得非常大),我试图找到一种在多个进程之间共享单个连接的方法。为此,我正在研究multiprocessing.sharedctypes.Value
API。但是,我不确定如何psycopg2.connection
使用该API在各个进程之间传递对象。谁能告诉我该怎么做?
为了解决这个问题,我也开放其他想法。
我之所以不考虑将连接作为构造函数的一部分传递给5个进程的原因是互斥处理。如果使用这种方法,我不确定如何防止多个进程访问连接。有人可以告诉我这是否正确吗?