AWS recently introduced Amazon EventBridge Scheduler, a new capability in Amazon EventBridge that allows organizations to create, run, and manage scheduled tasks at scale.
Amazon EventBridge is a serverless event bus that allows AWS services, Software-as-a-Service (SaaS), and custom applications to communicate with each other using events. Since its inception, the scheduler is the latest addition to the service, which has received several updates, such as the schema registry and event replay.
Marcia Villalba, a senior developer advocate for Amazon Web Services, explains in an AWS Compute blog post:
With EventBridge Scheduler, you can schedule one-time or recurrently tens of millions of tasks across many AWS services without provisioning or managing the underlying infrastructure.
Source: https://aws.amazon.com/eventbridge/scheduler/
Developers can create schedules using the AWS CLI that specify when events and actions are triggered to automate IT and business processes and provide scheduling capabilities within their applications. EventBridge Scheduler allows developers to configure schedules with a minimum granularity of one minute.
Yan Cui, an AWS serverless hero, tweeted:
It's great to finally see an ad-hoc scheduling service in AWS. My only nitpick is that it's granular to the minute, not an issue in most cases, though.
The capability provides at least once event delivery to targets, and you can create schedules that adjust to different delivery patterns by setting the window of delivery, the number of retries, the time for the event to be retained, and the dead letter queue (DLQ). An example is:
$ aws scheduler create-schedule --name SendEmailOnce \
--schedule-expression "at(2022-11-01T11:00:00)" \
--schedule-expression-timezone "Europe/Helsinki" \
--flexible-time-window "{\"Mode\": \"OFF\"}" \
--target "{\"Arn\": \"arn:aws:sns:us-east-1:xxx:test-chronos-send-email\", \"RoleArn\": \" arn:aws:iam::xxxx:role/sam_scheduler_role\" }"
More specifics on the configuration are available in the user guide.
Developers in the past have used other means. A respondent in a Reddit thread mentions:
I was already using AWS Rules for a scheduler, but this scheduler they've made doesn't seem like it can do everything that the rules can.
However, Mustafa Akın, an AWS community builder, expressed in a tweet:
I have waited for this service a long time. Many of us had to write custom schedulers because of this, we use SQS with time delays, it works but not ideal. Now we can delete some code and rejoice in peace.
Yet received a response from Zafer Gençkaya, an engineering manager, OpsGenie at Atlassian, stating:
One more lovely vendor-lock use case- that’s we have been waiting for for so long. It makes lots of backend logics redundant! I’d love to see exact-once delivery support, too — of course with additional fee.
Amazon EventBridge Scheduler is currently generally available in the following AWS Regions: US East (N. Virginia), US West (Oregon), US East (Ohio), Europe (Ireland), Europe (Frankfurt), Europe (Stockholm), Asia Pacific (Sydney), Asia Pacific (Tokyo), and Asia Pacific (Singapore). Pricing details of the service are available on the pricing page.