2016-01-12 2 views
0

Я написал код для записи данных в пользовательские показатели облачного мониторинга - google app engine.Пользовательские показатели cron job Тайм-аут хранилища

Для этого я храню данные в течение некоторого времени, скажем: 15мин в хранилище данных, а затем выполняется задание cron и получает данные оттуда и отображает данные на панели мониторинга облачного мониторинга.

Теперь моя проблема заключается в том, что при извлечении огромных данных для печати из хранилища данных задание cron может быть отключено. Также я хотел знать, что произойдет, когда работа cron завершится неудачей? И может ли он потерпеть неудачу, если количество записей велико? если это возможно, то какие альтернативы мы можем сделать. Безопасно, сколько записей cron может обрабатывать с длительностью тайм-аута 10 минут.

Пожалуйста, дайте мне знать, если вам нужна другая информация.

Спасибо!

ответ

1
  1. Вы можете запустить свое задание cron на instance with basic or manual scaling. Тогда он может работать до тех пор, пока вам это нужно.

  2. Задача Cron не перепробована. Вам нужно реализовать этот механизм самостоятельно.

  3. Лучшим вариантом является использование отложенных задач. Ваше задание cron должно создавать столько задач для обработки данных по мере необходимости и добавлять их в очередь. В этом случае вам не нужно повторять всю работу - или помните место, из которого следует возобновить работу, потому что задачи автоматически повторяются, если они терпят неудачу.

Обратите внимание, что при выполнении задач вам может не понадобиться создавать базовые/ручные экземпляры масштабирования, если каждая задача занимает менее 10 минут для выполнения.

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

+0

Я забыл упомянуть, что мы хотим использовать автомасштабирование. – nikki

+0

Тогда ваш лучший вариант - разделить задание на более мелкие части и запустить их с помощью Задачи. –