public SNS Topic with a trigger event every quarter hour
Update 2015-10-08: Amazon has released AWS Lambda
Scheduled Functions. I recommend using that feature to
schedule AWS Lambda functions. In fact, the Unreliable Town Clock
switched to use this feature behind the scenes, the day it was
announced.
Scheduled executions of AWS Lambda functions on an hourly/daily/etc
basis is a frequently requested feature, ever since the day Amazon
introduced the service at AWS re:Invent 2014.
Until Amazon releases a reliable, premium cron feature for AWS Lambda,
I’m offering a community-built alternative which may be useful for
some non-critical applications.
us-east-1:
arn:aws:sns:us-east-1:522480313337:unreliable-town-clock-topic-178F1OQACHTYF
us-west-2:
arn:aws:sns:us-west-2:522480313337:unreliable-town-clock-topic-N4N94CWNOMTH
Background
Beyond its event-driven convenience, the primary attraction of AWS
Lambda is eliminating the need to maintain infrastructure to run and
scale code. The AWS Lambda function code is simply uploaded to AWS and
Amazon takes care of providing systems to run on, keeping it
available, scaling to meet demand, recovering from infrastructure
failures, monitoring, logging, and more.
The available methods to trigger AWS Lambda functions already include
some powerful and convenient events like S3 object creation, DynamoDB
changes, Kinesis stream processing, and my favorite: the all-purpose
SNS Topic subscription.
Even so, there is a glaring need for code that wants to run at regular
intervals: time-triggered, recurring, scheduled event support for AWS
Lambda. Attempts to to do this yourself generally ends up with having
to maintain your own supporting infrastructure, when your original
goal was to eliminate the infrastructure worries.
Unreliable Town Clock (UTC)
The Unreliable Town Clock (UTC) is a new, free, public SNS Topic
(Amazon Simple Notification Service) that broadcasts a “chime” message
every quarter hour to all subscribers. It can send the chimes to AWS
Lambda functions, SQS queues, and email addresses.