2010-09-30 7 views
2

Мне нужно много раз запускать скрипт (python) в App Engine. Одна из возможностей - просто запустить цикл и использовать urlfetch со ссылкой на скрипт. Другой - открыть задачу с URL-адресом сценария.Task Queue VS. URLFetch

В чем разница между обоими? Кажется, что Задачи имеют квоту (100 000 ежедневных бесплатных заданий), так почему я должен их использовать?

Спасибо,

Joel

+0

Где бы вы делали URLFetch _from_? –

ответ

3

Кратко:

  1. Bulk добавления задачи в очередь, вероятно, будет легче, и, возможно, быстрее, чем при использовании UrlFetch. Хотя использование async url-fetches может помочь в этом.

  2. Когда задача не удалась, она автоматически повторит попытку. Предполагая, что вы проверяете статус своего вызова, URLFetch может просто зависать некоторое время, прежде чем вы получите какой-либо тип ошибки.

  3. Вы можете контролировать скорость выполнения задач. Таким образом, если вы быстро добавите 1000 задач, вы можете позволить им медленно работать в 10/минут (или что угодно), помогая вам не пробивать другие квоты.

  4. Если вы включили выставление счетов, бесплатная квота составляет 20 000 000/заданий в день.

  5. В зависимости от того, что вы делаете, задачи могут быть связаны с транзакциями, что дает вам действительно мощные способности.

+0

Следует также отметить этот пункт из документов: «Эта модель веб-крюка позволяет эффективно выполнять параллельную обработку - приложение Engine может одновременно запускать несколько задач или веб-крючки». – Franck