2012-02-02 4 views

ответ

6

Это 30 секунд.

Полуофициальный ответ был предоставлен сотрудником Google в их системе поиска ошибок here.

2

Курсор запроса может длиться часами. Если вы получаете эту ошибку последовательно в течение короткого промежутка времени после выполнения запроса в первый раз, это может означать, что ваша строка курсора неверна, или вы используете курсор с неправильным запросом. (Запрос должен быть идентичным тому, который использовался для генерации курсора.)

Если вы изменили конфигурацию составного индекса, который активирует запрос, все существующие курсоры будут аннулированы. The docs предполагают, что изменение базовой реализации (командой App Engine) также может привести к недействительности курсоров.

+0

Последовательность через 30 секунд :) Я просто хотел получить официальную информацию об этом. Но все, что я нашел (после того, как я разместил этот вопрос), - это [этот комментарий] (https://code.google.com/p/googleappengine/issues/detail?id=4432) в системе bugtracking. – expert

+1

Думаю, вы можете говорить о двух разных вещах, которые оба, смутно, называются курсорами. Дэн ссылается на курсоры, которые можно использовать для разбиения на страницы пользовательских интерфейсов. У них действительно нет предела их жизни - они становятся менее точными с течением времени, когда ключи удаляются или вставляются. Но 30-секундный тайм-аут, скорее, относится к «внутреннему курсору», который связывает последовательные партии одного запроса вместе. Если вы используете Appstats, это RunQuery - Next - Next и т. Д. Это то, о чем идет речь в вопросе 4432. Может быть, вы занимаетесь какой-то длительной работой? –