Google Cloud Scheduler和GAE cron作业有什么区别?

时间:2019-01-09 08:48:24

标签: google-app-engine google-cloud-platform google-cloud-scheduler

阅读文档后

我认为它们基本相同。

我可以使用insertion_citylist.jsx + GAE cron job + pub/sub来实现与cloud function相同的功能。

据我所知,它们之间似乎有些区别:

  1. Cloud Scheduler可以更方便地调整频率。要更新cloud scheduler的频率,必须更新配置,例如GAE cron job的{​​{1}}并重新部署。

  2. 您无需自己实现cron作业体系结构(集成schedule: every 1 hourscron.yamlGAEGAE cron service等),这意味着您无需再编写用于将它们组合在一起的代码。

我正确吗?或者,还有其他区别吗?

1 个答案:

答案 0 :(得分:3)

您说对了,因为Google Cloud Scheduler是GAE cron作业机制的一种改进,使它变得更加用户友好和灵活。您可以看到它们仍然相关,因为Cloud Scheduler doc指定了:

  

要使用Cloud Scheduler,您的项目必须包含一个App Engine应用   位于受支持的区域之一。如果您的专案   没有App Engine应用,则必须创建一个。

从历史上看,GAE cron job是平台提供的唯一cron服务。您只能将GAE处理程序作为目标以接收来自cron的请求。从那里,您确实可以执行诸如在pub / sub上发布,调用HTTP Cloud Function或启动数据流作业之类的操作,但是您始终必须部署GAE服务来处理它,这不是最佳选择。

新的Cloud Scheduler(目前仍为beta)现在可以更轻松地与发布/订阅,Cloud Functions以及任何公共可用的HTTP端点(可能是内部部署)一起使用。当然还有App Engine处理程序。将来可能会为更多用例添加更多目标。

最后,正如您提到的,用于管理它的API将其与App Engine及其cron.yaml文件解耦,并使动态创建和更新cron作业更加容易。