У меня есть задание cron, которое я запускаю каждые три минуты, которое извлекает некоторые данные из удаленного API, а затем сохраняет их в моем локальном хранилище данных. Однако это занимает огромное количество процессорного времени в операции размещения хранилища данных. Я подозреваю, что, вероятно, делаю что-то действительно глупое, что можно сильно оптимизировать:
result = urllib2.urlopen(url).read()
foos = json.loads(result)['foo']
bars = json.loads(result)['bar']
models = []
for foo in foos:
d = FooContainer()
d.Property = foo.Value #in real code, this is setting a load of values based off foo
models.append(d)
for bar in bars:
d = BarContainer()
d.Property = bar.Value #in real code, this is setting a load of properties based off bar
models.append(d)
db.put(models)
Как видите, я сохраняю каждую часть данных, возвращенных как новую «строку» в таблицах моего локального хранилища данных. Есть ли какая-то техника, которую я могу использовать, чтобы уменьшить огромное время процессора хранилища данных, используемое этой задачей cron?