Google released the beta of Cloud Scheduler, a fully-managed, serverless job scheduler for the Google Cloud Platform today, designed to allow for the scheduling and execution of batch, big data and cloud infrastructure tasks from within any application.
“Job schedulers like cron are a mainstay of any developer’s arsenal, helping run scheduled tasks and automating system maintenance,” Vinod Ramachandran, product manager at Google Cloud, wrote in the announcement. “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.”
Ramachandran and the developers of Cloud Scheduler aim to bypass some of these difficulties with promises of at-least-once delivery of jobs to their targets, automation of retries and executions with fault-tolerance through deployment to different regions and a single management pane for scheduling and invoking operations via the GCP UI, CLI or API. Cloud Scheduler also supports the Unix cron scheduling format, Ramachandran wrote.
The developers laid out a few potential use-cases, which include:
- scheduling database updates and push notifications
- triggering CI/CD pipelines
- scheduling tasks such as image uploads and sending email
- invoking Cloud Functions via Cloud Pub/Sub
“Cloud Scheduler runs a job by sending an HTTP request or Cloud Pub/Sub message to a specified target destination on a recurring schedule,” Ramachandran wrote. “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.”