数据存储异步写操作,不保存



试图将数据写入本地数据存储,如:

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

整个文档都在谈论等待

最新更新