- Newest
- Most votes
- Most comments
One way to do this would be to use Lambda but trigger it using a scheduled CloudWatch Event. That's not really event queuing though but you could have your code create the schedule on demand.
Another way would be to use a DynamoDB table; create the event you need as a record but set an expiry time on that record. When it expires an event will be sent to (again) Lambda. Note that the event might not be created immediately though - it can be delayed by up to 48 hours so may not be handy if you need precise timing.
Please reach out yo your local AWS Solutions Architect - this sounds like an excellent idea for an product or service.
There are also other Options to do that depending on the requirements.
If you are fine with a delay of max 15 Minutes i would use an SQS Queue. When putting the message in the queue you can define a delay of up to 900 seconds.
Another option is to use a StepFunction for this and to use the Wait-State. This is more flexible and you get an id for the execution from the service call. And you get also a nice UI where you can see all running processes and all processes ready.
I'm looking for delays of 2-6 hours based on user preference. I had discovered the Step Function, and will look into it. Before that I was looking at CloudWatch events rule.
Relevant content
- Accepted Answerasked 5 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 3 months ago
- AWS OFFICIALUpdated a year ago
How does one find the local AWS Solutions Architect?