20

阅读文档后

我认为它们大多相同。

我可以使用GAE cron job++来实现与它相同的pub/sub功能。cloud functioncloud scheduler

据我了解,它们之间似乎存在一些差异:

  1. Cloud Scheduler 可以更方便地调整频率。要更新 的频率GAE cron job,您必须更新配置,例如schedule: every 1 hourscron.yaml重新部署。

  2. 无需自己实现 cron 作业架构(集成、、、、GAEGAE cron servicepub/subcloud function这意味着您不再需要编写代码将它们组合在一起。

我对么?或者,还有其他区别吗?

4

1 回答 1

18

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

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

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

新的 Cloud Scheduler(目前仍处于测试阶段)使其更易于与 Pub/Sub、Cloud Functions 以及任何公开可用的 HTTP 端点(可能是内部部署的)一起使用。当然还有 App Engine 处理程序。未来可能会为更多用例添加更多目标。

最后,正如您所提到的,为管理它而公开的 API 将其与 App Engine 及其 cron.yaml 文件分离,从而更容易动态地创建和更新 cron 作业。

于 2019-01-09T16:38:33.837 回答