Как memcache.incr () влияет на периоды обслуживания App Engine? - PullRequest
2 голосов
/ 18 августа 2010

Я работаю над приложением, которое будет работать на Google App Engine.Я хотел бы, чтобы он корректно реагировал на периоды обслуживания App Engine.

Согласно документации , memcache просто не будет сохранять или извлекать данные во время периодов обслуживания:

В течение периода обслуживания, доступного только для чтения, вызовы API-интерфейса memcache не будут генерировать исключения, а вместо этого будут возвращать False для вызовов set () и None для вызовов get () (как и при любой другой ошибке в кэше).Кроме того, вызовы memcache API будут возвращаться немедленно в течение этого периода без каких-либо дополнительных задержек.

Применимо ли это также к вызовам incr()?Похоже, что так и должно быть, но я не могу найти никакой документации на этот счет, и я хочу быть уверен.

1 Ответ

3 голосов
/ 18 августа 2010

Документация для incr() состояний :

Возвращаемое значение - новое длинное целое значение, или None, если ключ не был в кэше или не может быть увеличен по любой другой причине.

Поскольку в документации также четко указано, что вы не можете задавать или получать данные во время обслуживания, а incr() на самом деле является просто вспомогательной функцией при set(), вы должны ожидать возвращаемого значения None во время периодов обслуживания для incr() функция.

...