Frage

Ich habe eine Schleife, in der ich viele Entitäten in den Datenspeicher gesteckt habe, so ähnlich:

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

Ich weiß, dass ich die benutze Bulk -Uploader, aber ich muss dies aus dem Code aus tun. Was ich derzeit habe, arbeitet ich, solange die Grenze nicht so groß ist (sonst erhalte ich eine Frist über den Fehler, aber das ist nicht der Umfang dieser Frage), ich frage nur, Wenn es dafür einen besseren oder effizienteren Ansatz gibt, da dies wie ein hässlicher Hack erscheint, zum Beispiel ein Ansatz wie alle Entitäten in einen Schuss, anstatt zu schleifen, oder so.

War es hilfreich?

Lösung

Sie machen für jedes von Ihnen gespeicherte Entität eine Datenspeicherung. Akkumulieren Sie sie stattdessen und machen Sie eine einzelne Stapel:

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

Wenn Sie Ihren Betrieb weiterhin in mehrere Teile aufteilen müssen, verwenden Sie Taskwarteschlangen, um jeden Arbeitsaufwand als separate Aufgabe zu untertreffen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top