标签: python database multiprocessing signals
我有一个守护程序进程使用multiprocessing生成子进程来做一些工作,每个子进程打开自己的连接句柄做DB(在我的情况下是postgres)。进程的作业通过Queue传递,如果队列为空,进程会调用sleep一段时间,并重新检查队列
multiprocessing
Queue
sleep
如何在SIGTERM上实现“正常关机”?每个子进程应尽可能快地终止,关闭/终止当前游标/事务和数据库连接,以及打开文件。
答案 0 :(得分:4)
存储所有打开的文件/连接/等。在全局结构中,关闭它们并退出SIGTERM处理程序。