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