我有数千个MySQL查询要在我正在处理的python程序中运行。我想以明显的理由同时运行这些,我正在努力找到最好的方法。
使用多处理,我想启动8个子进程。每个人都应该创建一个SQL连接,它在整个生命周期中都会持续存在。然后我想使用ProcessPool来查询那些利用持久SQL连接的进程。一旦所有查询都返回结果,我想关闭每个进程的连接。
目前,我可以为创建MySQLdb连接的每个进程发送一个初始化程序,然后在我的imap中传递的每个查询中使用它。但是,我无法看到一种很好的方法来解除进程并解密进程并关闭数据库连接。
当池即将销毁每个进程时,有没有办法关闭数据库连接?
我已经看过使用队列向/从传输数据,然后继承multiprocessing.Process和override run,它可以创建连接,循环队列,然后关闭该单个调用中的连接,但是,当队列中没有任何其他东西可以提供给我试图避免的时候,队列中的队列会有更多的开销和更多的开销。