В моем приложении у меня есть несколько пакетных операций, которые я выполняю. к сожалению, это иногда требует навсегда обновления 400-500 объектов. что у меня есть все ключи сущностей, мне нужно получить их, обновить свойство и сохранить их в хранилище данных, и их сохранение может занять до 40-50 секунд, что не то, что они ищут.
плохо упростить мою модель, чтобы объяснить, что я делаю (что довольно просто):
class Entity(ndb.Model):
title = ndb.StringProperty()
keys = [key1, key2, key3, key4, ..., key500]
entities = ndb.get_multi(keys)
for e in entities:
e.title = 'the new title'
ndb.put_multi(entities)
Получение и изменение не занимает слишком много времени. Я пытался получить get_async в тасклете и все, что еще возможно, что только меняется, если get или forloop занимает больше времени.
но меня действительно беспокоит то, что посылка занимает до 50 секунд...
Каков наиболее эффективный способ выполнения этой операции в достаточном количестве времени. конечно, я знаю, что это зависит от многих факторов, таких как сложность сущности, но время, которое требуется для того, чтобы положить, действительно превышает допустимый предел для меня.
я уже пробовал асинхронные операции, задачи...