как я могу получить доступ к списку задач в GAE? - PullRequest
2 голосов
/ 16 сентября 2010

Я планирую использовать GAE TaskQueue API для обновления моего кэша HTML-страниц, который я сохраняю в хранилище данных (и в memcache, но хранилище данных более надежно).

Раз в неделю я добавляю / редактирую некоторые данные, и мне нужно заново создавать связанные HTML-страницы, а запуск задач - это способ.

Обратите внимание, что различные правки могут означать изменение одного и того же кэшированногостр.Например, на домашней странице есть фрагменты из нескольких частей из разных данных.Я хочу запускать задачи в очередь задач с задержкой (например, с использованием обратного отсчета часа), чтобы я мог накопить несколько правок, и в итоге кэшированные страницы будут восстановлены толькоодин раз.

Проблема в том, что мне не нужно добавлять задачу для регенерации страницы X, если уже есть задача, поставленная в очередь для регенерации страницы X через час.Таким образом, мне нужно проверить список задач и посмотреть, есть ли он уже.

Как получить доступ к списку задач?

Ответы [ 2 ]

2 голосов
/ 16 сентября 2010

Я видел, что добавление одной и той же задачи вызовет ошибку DuplicateTaskNameError, возможно, это все, что мне нужно.

0 голосов
/ 16 сентября 2010

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

...