Асинхронная операция memcache в App Engine get_multi_async - PullRequest
2 голосов
/ 29 сентября 2011

Как использовать memcache get_multi_async.

Док говорит, что возвращает «словарь» значений.http://code.google.com/appengine/docs/python/memcache/clientclass.html#Client_get_multi_async

Я ожидал, что он вернет какой-то «асинхронный объект», на котором я смогу выполнить get_result () позже.

Я что-то упустил ??

Ответы [ 2 ]

3 голосов
/ 29 сентября 2011

Полагаю, вам нужно передать объект RPC ; словарь, о котором он говорит, будет получен с помощью функции get_result() объекта RPC.

1 голос
/ 11 сентября 2014

Вызов get_multi_async фактически возвращает RPC объект, который вы используете для последующего выполнения результата.

client = memcache.Client()
rpc = client.get_multi_async(['key1', 'key2'])
# Do other work
result = rpc.get_result()

Если хотите, вы можете создать свой собственный RPC объект, который позволяет контролировать крайний срок, а также обеспечивает обратный вызов, который будет вызван после завершения выборки:

client = memcache.Client()
rpc = memcache.create_rpc(deadline=30, callback=my_callback)
client.get_multi_async(['key1', 'key2'], rpc=rpc)

Обратите внимание, что объект RPC, который вы делаете, должен быть из пакета memcacheне urlfetch один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...