使用Django进行多处理

时间:2018-10-05 10:45:22

标签: python django python-multiprocessing

我必须生成一些数据的报告,有时报告会变得非常庞大,最多需要20分钟才能完成。仅出于此目的而使用celery并不能证明费用合理,因此我不得不启动一个线程来在后台执行处理。

我读到了有关使用django进行多处理的信息,事实证明我应该手动关闭所有连接,否则我最终将把活动连接复制到线程中。我不确定这是否仍然是事情,但是我还是会做。

当前,我只是调用close_all方法,而django似乎在父线程和子线程中都重新建立了它们。

db.connections.close_all()
thread = threading.Thread(target=build_export_method)
thread.setDaemon(True)
thread.start()

这足以防止不必要的数据库连接徘徊吗?

0 个答案:

没有答案