Расписание и продолжительность Google App Engine Cron

Каковы минимальные и максимальные значения расписания cron? И как долго может работать cron? 24 часа? В приведенном ниже коде работа с расписанием составляет 1 минуту.

   cron:
    - description: test
      url: /test
      schedule: every 1 minutes

Но я хочу сделать это 30 секунд

Итак, я написал

 cron:
    - description: test
      url: /test
      schedule: every 30 seconds

Но он просто возвращает ошибку, когда я обновляю приложение.


person John    schedule 19.03.2013    source источник


Ответы (1)


Cron не поддерживает детализацию менее одной минуты. Что касается того, как долго будет работать cron в GAE, говорится в документации. :

Запрос HTTP, вызванный cron, может выполняться до 10 минут, но на него распространяются те же ограничения, что и на другие запросы HTTP.

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

Редактировать: Если вам действительно нужна 30-секундная детализация в cron, возможен небольшой обходной путь, используя countdown свойство задачи в TaskQueue. Шаги следующие:

  1. Имейте одноминутный cron, который выполняет сервлет, отличный от вашего предполагаемого сервлета /test.
  2. Пусть этот сервлет создаст две задачи, указывающие на предполагаемый сервлет /test. Каждая задача имеет 30 и 60 значений для свойства countdown.
  3. Поместите обе задачи в TaskQueue.

В качестве альтернативы вы можете предварительно вычислить ожидаемое время прибытия через 30 секунд и 60 секунд от запуска сервлета и поместить его в eta свойство для большей детализации.

Последнее предостережение: eta и countdown не гарантируют, что задача будет выполнена точно в заданное время. Если ваша очередь переполнена или ваши экземпляры перегружены, можно ожидать некоторую задержку.

person Ibrahim Arief    schedule 19.03.2013
comment
Хороший ответ, и вы правы, что запросы cron имеют те же сроки, что и запросы TaskQueue. - person Peter McKenzie; 20.03.2013