如果我调用异步数据存储操作(例如下面所示的操作)但是然后结束请求而不调用get on the future,会发生什么?
我的操作是否仍会执行? 我会在操作完成执行之前发送响应吗?
AsyncDatastoreService datastore = DatastoreServiceFactory.getAsyncDatastoreService();
Entity entity = new Employee("Employee", "Alfred");
// ... populate entity properties
// Make a sync call via the async interface
datastore.put(key)
//Return response
答案 0 :(得分:1)
rpc将立即发送;当您的应用程序准备好向客户端发送响应时,它将一直阻止,直到rpc完成。
答案 1 :(得分:0)
我偶然在python中完成了这个,结果是没有写入数据存储区。
您的操作可能仍然会执行,但似乎只有在响应处理程序决定执行时仍然处于活动状态时才会发生。如果没有,似乎根本没有发生任何事情。
是的,响应将在操作完成执行之前发送 - 这是未来的主要特征,它是非阻塞的。