В чем разница между Google Cloud Scheduler и GAE cron?
После прочтения документов
- облачный планировщик - https://cloud.google.com/scheduler/
- Задание GAE cron - https://cloud.google.com/appengine/docs/flexible/nodejs/scheduling-jobs-with-cron-yaml flex/nodejs/scheduling-jobs-with-cron- yaml
- облачная функция pub / sub триггер - https://cloud.google.com/functions/docs/calling/pubsub
Я думаю, что они в основном одинаковы.
я могу использовать GAE cron job
+ pub/sub
+ cloud function
реализовать те же функции, которые cloud scheduler
есть.
В моем понимании, кажется, есть некоторые различия между ними:
Облачный планировщик может быть более удобным для настройки частоты. Чтобы обновить частоту
GAE cron job
, вы должны обновить конфиг, какschedule: every 1 hours
изcron.yaml
и перераспределить.Нет необходимости реализовывать архитектуру работы cron (интегрировать
GAE
,GAE cron service
,pub/sub
,cloud function
и т. д.), что означает, что вам больше не нужно писать код для их объединения.
Я прав? Или какие-то другие отличия?
1 ответ
Вы правы в том, что Google Cloud Scheduler является своего рода эволюцией механизма работы cron GAE, чтобы сделать его более удобным и гибким. Вы можете видеть, что они все еще связаны, так как документ Cloud Scheduler указывает:
Для использования Cloud Scheduler ваш проект должен содержать приложение App Engine, расположенное в одном из поддерживаемых регионов. Если в вашем проекте нет приложения App Engine, вы должны его создать.
Исторически GAE cron была единственной службой cron, предлагаемой платформой. Вы могли только предназначаться для обработчика GAE, чтобы получить запрос от cron. Оттуда вы действительно можете выполнять такие действия, как публикация в pub / sub, вызывать функцию HTTP Cloud или запускать задание потока данных, но вам всегда приходилось развертывать службу GAE для ее обработки, что было неоптимально.
Новый Cloud Scheduler (все еще в бета-версии на данный момент) делает его более простым для использования с Pub/Sub, Cloud Functions, а также с любой общедоступной конечной точкой HTTP (может быть локально). И, конечно, обработчики App Engine. В будущем может быть добавлено больше целей для большего количества вариантов использования.
Наконец, как вы упомянули, API, доступный для управления им, отделяет его от App Engine и его файла cron.yaml и упрощает динамическое создание и обновление заданий cron.