试图将数据写入本地数据存储,如:
drivingJson = json.loads(drivingdata)
for data in drivingJson:
keys = getKey()
index = 1
dataList = list()
for nodeData in data:
self.response.write(keys)
self.response.write("<br>")
lat = nodeData['lat']
lng = nodeData['long']
color = nodeData['color']
timestamp = datetime.datetime.strptime(nodeData['timestamp'], "%Y-%m-%d %H:%M:%S")
saveDrivingData = DrivingObject(
index = index,
lat = float(lat),
lng = float(lng),
timestamp = timestamp,
sessionKey = str(keys),
color = int(color)
)
dataList.append(saveDrivingData)
index +=1
ndb.put_multi_async(dataList)
不会用任何细节填充数据存储。但是当我使用
ndb.put_multi(dataList)
数据存储填充良好。如何处理异步调用。由于
put_multi_async返回一个Future对象列表。您需要调用wait_any来确保在您从请求返回之前put已经完成。
阅读异步所有工作必须在你回来之前完成。
使用https://cloud.google.com/appengine/docs/python/ndb/async
整个文档都在谈论等待