Ho使用memcache get_multi_async。App引擎memcache異步操作get_multi_async
Doc說它返回值的「字典」。 http://code.google.com/appengine/docs/python/memcache/clientclass.html#Client_get_multi_async
我期待它返回某種「異步對象」,我可以在後面執行get_result()。
我錯過了什麼?
Ho使用memcache get_multi_async。App引擎memcache異步操作get_multi_async
Doc說它返回值的「字典」。 http://code.google.com/appengine/docs/python/memcache/clientclass.html#Client_get_multi_async
我期待它返回某種「異步對象」,我可以在後面執行get_result()。
我錯過了什麼?
我相信你需要通過an RPC object;它所說的字典將通過RPC對象上的get_result()
函數獲得。
對get_multi_async
的調用實際上會返回一個RPC
對象,您可以稍後使用該對象執行結果。
client = memcache.Client()
rpc = client.get_multi_async(['key1', 'key2'])
# Do other work
result = rpc.get_result()
如果你願意,你可以make your own RPC
object,它允許你控制的最後期限,並提供一個回調的獲取完成時要調用:
client = memcache.Client()
rpc = memcache.create_rpc(deadline=30, callback=my_callback)
client.get_multi_async(['key1', 'key2'], rpc=rpc)
請注意您的RPC對象有來自memcache
包,而不是urlfetch
之一。