В чем разница между Google Cloud Scheduler и GAE cron?

После прочтения документации

Я думаю, что они в основном такие же.

Я могу использовать GAE cron job + pub/sub + cloud function для реализации тех же функций, что и cloud scheduler.

В моем понимании, похоже, между ними есть некоторые различия:

  1. Cloud Scheduler может быть удобнее настраивать частоту. Чтобы обновить частоту GAE cron job, вы должны обновить конфигурацию, например schedule: every 1 hours из cron.yaml, и выполнить повторное развертывание.

  2. Нет необходимости реализовывать архитектуру заданий cron (интегрировать GAE, GAE cron service, pub/sub, cloud function и т. Д.) Самостоятельно, что означает, что вам больше не нужно писать код для их объединения.

Я прав? Или какие-то другие отличия?


person slideshowp2    schedule 09.01.2019    source источник


Ответы (1)


Вы правы в том, что Google Cloud Scheduler - это своего рода эволюция механизма заданий cron GAE, чтобы сделать его более удобным и гибким. Вы можете видеть, что они все еще связаны, поскольку в документе Cloud Scheduler указано:

Чтобы использовать Cloud Scheduler, ваш проект должен содержать приложение App Engine, расположенное в одном из поддерживаемых регионов. Если в вашем проекте нет приложения App Engine, его необходимо создать.

Исторически сложилось так, что задача cron GAE была единственной службой cron, предлагаемой платформой. Вы можете настроить таргетинг на обработчик GAE только для получения запроса от cron. Оттуда вы действительно могли выполнять такие действия, как публикация в pub / sub, вызов облачной функции HTTP или запуск задания потока данных, но вам всегда приходилось развертывать службу GAE для ее обработки, что не было оптимальным.

Новый облачный планировщик (на данный момент все еще находится в стадии бета-тестирования) упрощает использование с Pub / Sub, облачными функциями, а также с любой общедоступной конечной точкой HTTP (может быть локально). И, конечно же, обработчики App Engine. В будущем могут быть добавлены другие цели для большего количества вариантов использования.

Наконец, как вы упомянули, API, предоставляемый для управления им, отделяет его от App Engine и его файла cron.yaml и упрощает динамическое создание и обновление заданий cron.

person LundinCast    schedule 09.01.2019
comment
Спасибо. У меня такой же вопрос. У меня есть приложение GAE, и мне было интересно, использовать ли cron.yaml подход с GAE или более общий Cloud Scheduler. Cloud Scheduler выглядит более гибким и имеет лучший интерфейс для управления несколькими заданиями cron, и этот ответ действительно помогает мне понять их эволюцию и почему они оба существуют. Я собираюсь использовать Cloud Scheduler. - person David; 16.02.2021