2012-04-05 4 views
1

Так как нет возможности узнать кол-во TaskQueue программно в соответствии с AppEngine Taskqueue: is there a way to determine the queue depth?, я подумываю использовать кеш для наблюдения за очередью. Является ли это целесообразным или это кардинальный грех? (Я знаю, что кеш не может быть на 100% надежным, 89% -ная надежность для меня прекрасна)appengine TaskQueue count

+0

«кэш»? Вы имеете в виду память? Зачем вам нужно знать, сколько задач находится в очереди? –

+0

yeh, mem cache. Я обрабатываю некоторые данные в зависимости от отметки времени доступности, и если данные пока недоступны, это будет скоро. Таким образом, я использовал рассчитанную очередь задач и попытаюсь повторить задачу очереди задач вместо обычного задания cron. Я также хочу уменьшить использование ЦП ненужной задачи, поэтому я хочу контролировать очередь задач. Я все слышал за лучшее решение или придумал идиоматический способ решения такой проблемы. –

+0

Извините, я не понимаю, какая часть этого требует знания количества заданий в очереди. Вы можете уточнить? –

ответ

1

Не вопрос надежности, кеш может быть очищен в любое время, а затем ваш левый с нулем. вам нужно сохранить счет в хранилище данных.

Изучите sharding counters учебник о том, как иметь хорошую пропускную способность записи в хранилище данных.

+0

Я использую TaskQueue как некоторый поток как способ спать и продолжать цикл, поэтому запись в хранилище данных для меня слишком высока, имхо. Я в порядке с гипотетической 11% -ой ошибкой, где счетчик TaskQueue остается 0. –

Смежные вопросы