我目前正在使用 NDB 库将 XML 文件中的一些实体重新插入 Google Datastore。我观察到的问题是,有时ndb.put_multi()似乎没有返回,脚本挂起等待它。
代码基本上是在做以下事情:
@ndb.toplevel
def insertAll(entities):
ndb.put_multi(entities)
entities = []
for event, case in tree:
removeNamespace(case)
if (case.tag == "MARKGR" and event == "end"):
# get ndb.Model entities
tm, app, rep = decodeTrademark(case)
entities.append(tm)
for app_et in app:
entities.append(app_et)
for rep_et in rep:
entities.append(rep_et)
if (len(entities) > 200):
n_entitites += len(entities)
insertAll(entities)
entities = []
if(len(entities) > 0):
insertAll(entities)
我之前已经注意到这种行为,但它似乎是非常不确定的,我想知道是否有办法正确调试和/或设置超时ndb.put_multi所以如果它在给定之后没有返回,我至少可以重试它时间。
提前致谢,