作业调度程序 cron 是开发人员工具箱中不可缺少的得力助手,用于运行计划任务和自动化系统维护。但作业调度程序面临着与其他传统 IT 服务相同的挑战:需要管理底层基础设施,需要手动重启失败的作业以及作业状态缺乏可见性。
今天,谷歌正式发布 Cloud Scheduler,一个完全托管的 cron 作业服务,可以让应用程序调用批量、大数据和云基础设施操作。Cloud Scheduler 通过 App Engine 标准或灵活的环境来执行调度作业,目前为所有 Google Cloud Platform(GCP)用户提供了测试版。
Cloud Scheduler 带来了 cron 服务的所有优点,包括:
可靠的交付:Cloud Scheduler 提供了至少一次作业交付,确保可以调用并执行关键型任务作业。
容错执行:Cloud Scheduler 可以部署在不同的区域,以容错的方式对作业的重试和执行进行自动化,从而消除托管 cron 的单点故障风险。
统一的管理体验:Cloud Scheduler 可以通过 UI、CLI 或 API 进行作业调度,并提供了统一的管理体验。它还支持使用大家已经熟悉的 Unix cron 格式来定义作业计划。
Cloud Scheduler 以无服务器完全托管的方式完成所有工作,无需管理底层基础设施,无需手动重试失败的作业。你只需为运行的操作付费——GCP 负责处理 Cloud Scheduler 所需的所有资源调配、复制和扩展。作为开发人员,你只需创建调度作业,其他的事情由 Cloud Scheduler 来处理。
Nomanini 是一家南非初创公司,为非正规市场提供支付服务,是 Cloud Scheduler 的早期采用者。
Nomanini 首席技术官 Dave Humby 说:“我们使用 Cloud Scheduler 来调度批处理作业,这些作业每天早上都会向我们的客户发送关键任务报告。我们很喜欢 Cloud Scheduler 的一点是可以通过 UI 或 CLI 无缝定义调度作业。在调度作业中调用 Google Cloud Function 的能力让我们的报告系统可以更好地集成在一起”。
Cloud Scheduler 实战
Cloud Scheduler 可用于很多不同的场景,比如调度数据库更新和推送通知、触发 CI/CD 管道、调度图像上传和发送电子邮件等任务,以及通过 Cloud Pub/Sub 调用 Cloud Function。要进行作业调度,你可以通过 Cloud Scheduler 的 UI、CLI 或 API 来调用 HTTP/S 端点、Pub/Sub 主题或 App Engine 应用程序。
Cloud Scheduler 通过向指定目标发送 HTTP 请求或 Cloud Pub/Sub 消息来运行作业。目标处理程序执行作业并返回响应。如果作业执行成功,就会向 Cloud Scheduler 返回成功状态码(HTTP/AppEngine 为 2xx,Pub/Sub 为 0)。如果作业执行失败,就会将错误发送回 Cloud Scheduler,然后 Cloud Scheduler 将重试这个作业,直到达到最大尝试次数。作业被调度之后,你可以在 Cloud Scheduler UI 上对其进行监控,并检查作业的状态。
现在就开始
Cloud Scheduler 是一个现代化的服务器作业调度解决方案。要立即开始使用 Cloud Scheduler,请查看快速入门指南。然后,根据文档创建和配置你自己的调度作业,或在 GCP 上开始免费试用
地址:https://cloud.google.com/scheduler
评论