在一个模型中,我有 update() 方法,它更新了几个字段并创建了其他模型的一个对象。问题是我用来更新的数据是从另一台主机获取的(每个对象都是唯一的),这可能需要一点时间(主机可能离线,超时设置为 3 秒)。现在,我需要更新几百个对象,每小时 3-4 次 - 当然,连续更新每个对象不是一种选择,因为它可能需要一整天。我的第一个想法是将其拆分为 50-100 个线程,以便每个线程都可以更新自己的对象部分。99% 的更新函数时间都在等待服务器响应(只有几个字节的数据,所以 ping 是问题),我认为 CPU 不会有问题,我比较担心:
- Django ORM。能应付吗?获取所有对象,将其拆分并从 >50 个线程更新?
- 解决这个问题是个好主意吗?如果是 - 如何做到这一点并且不要搞砸数据库?或者也许我不应该关心这么少的记录?
- 如果这不是一个好方法,如何正确地做?