Source: Announcing Cloud Scheduler: a modern, managed cron service for automated batch jobs from Google Cloud
Job schedulers like cron are a mainstay of any developer’s arsenal, helping run scheduled tasks and automating system maintenance. But job schedulers have the same challenges as other traditional IT services: the need to manage the underlying infrastructure, operational overhead of manually restarting failed jobs and lack of visibility into a job’s status.
Today, we are excited to announce Cloud Scheduler, a fully managed cron job service that allows any application to invoke batch, big data and cloud infrastructure operations. Cloud Scheduler works by executing your schedules using App Engine standard or flexible environments, and is available today in beta for all Google Cloud Platform (GCP) users.
Cloud Scheduler provides all the benefits of a cron service, including:
Reliable delivery: Cloud Scheduler offers at-least-once delivery of a job to the target, guaranteeing that mission-critical jobs are invoked for execution.
Fault-tolerant execution: Cloud Scheduler lets you automate your retries and execute a job in a fault-tolerant manner by deploying in different regions, so you eliminate the risk of single point of failure of hosted cron.
Unified management experience: Cloud Scheduler lets you invoke your schedules through the UI, CLI or API and still have a single pane of glass management experience. It also supports the familiar Unix cron format to define your job schedules.
Finally, Cloud Scheduler does all this in a fully managed serverless fashion, with no need to manage the underlying infrastructure, or manually intervene as it retries failed jobs. You also pay only for the operations you run—GCP takes care of all resource provisioning, replication and scaling required to operate Cloud Scheduler. As a developer you simply create your schedules and Cloud Scheduler handles the rest.
Nomanini is a South African startup offering payment services for informal markets, and is a Cloud Scheduler early adopter.
“We rely on Cloud Scheduler to schedule batch jobs that generate mission-critical reports mailed to our clients each morning. We liked the way Cloud Scheduler allows us to seamlessly define a scheduled job through the UI or the CLI. The ability to invoke Google Cloud Functions on a schedule helped stitch together our reporting system.” – Dave Humby, Chief Technology Officer, Nomanini“
You can use Cloud Scheduler for a number of different use cases. Think scheduling database updates and push notifications, triggering CI/CD pipelines, scheduling tasks such as image uploads and sending email, and invoking Cloud Functions via Cloud Pub/Sub. To schedule a job, you can use the Cloud Scheduler UI, CLI or API to invoke your favorite HTTP/S endpoint, Pub/Sub topic or App Engine application.
Cloud Scheduler runs a job by sending an HTTP request or Cloud Pub/Sub message to a specified target destination on a recurring schedule. The target handler executes the job and returns a response. If the job succeeds, a success code (2xx for HTTP/AppEngine and 0 for Pub/Sub) is returned to Cloud Scheduler. If a job fails, an error is sent back to Cloud Scheduler, which then retries the job until the maximum number of attempts is reached. Once the job has been scheduled, you can monitor it on the Cloud Scheduler UI and check for the status of the job.