Kir*_*iro 7 python mysql django multithreading
在一个模型中,我有update()方法,它更新几个字段并创建一个其他模型的一个对象.问题是我用来更新的数据是从另一个主机获取的(每个对象都是唯一的),它可能需要一些时间(主机可能处于脱机状态,超时设置为3秒).现在,我需要更新几百个对象,每小时3-4次 - 当然连续更新每个对象都不是一个选择,因为它可能需要一整天.我的第一个想法是将它分成50-100个线程,这样每个线程都可以更新自己的部分对象.99%的更新功能时间正在等待服务器响应(只有少量字节的数据,所以ping是问题),我认为CPU不会有问题,我更担心:
您可以手动执行来自不同线程的操作(例如,使用Queue和执行器池),但您应该注意,Django的ORM管理线程局部变量中的数据库连接.所以每个新线程=与数据库的新连接(对于一个请求,对于50-100个线程来说这不是一个好主意 - 连接太多).另一方面,您应该检查数据库"bandwith".
| 归档时间: |
|
| 查看次数: |
3670 次 |
| 最近记录: |