Поместить много сущностей в хранилище данных одновременно

StackOverflow https://stackoverflow.com/questions/8811705

Вопрос

У меня есть петля, где я вкладываю много сущностей в хранилище данных, что -то вроде этого:

for line in open(file):
    if count >= limit:
        break
    elif count >= offset:
        prop1 = XXX
        prop2 = YYY
        MyEntity(prop1=XXX, prop2=YYY).put()
    count += 1

Я знаю об использовании объемный загрузчик, но мне нужно сделать это из кода. То, что у меня сейчас есть, работает, пока предел не такой большой (в противном случае я получаю крайний срок, превышенный, но это не область этого вопроса), я только спрашиваю Если для этого есть лучший или более эффективный подход, так как это кажется ужасным взломом, например, подход, такой как все объекты в один выстрел, а не зацикливаться или около того.

Это было полезно?

Решение

Вы совершаете поездку в обратном пути к данту данных для каждого объекта, которую вы храните. Вместо этого накапливайте их и сделайте одну партию.

to_write = []
for line in open(file):
  #...
  to_write.append(MyEntity(prop1=XXX, prop2=YYY)
db.put(to_write)

Если вам все еще нужно разбить свою операцию на несколько частей, используйте очереди задач, чтобы включить каждый кусок работы в качестве отдельной задачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top