I've currently got a function in lambda that when invoked sends a message to a user who invoked it. 2 days later I would like to send a follow up message. All the code to send the actual messaging works fine.
I'm using Lambda due to the auto-scaling abilities, and ideally I want to avoid having to set-up a separate database to store the userId, timestamp of the original interaction (so I can work out the follow up time) and follow up message for 2 days later. The reason for this is due to scaling as I'm not sure when the peaks are going to be. This is a short frame project but it's expecting high engagement, but at unknown,varied times.
I'd initially thought about SNS to call another lambda function with the data, however, I've since discovered that SNS doesn't support scheduled messages. Ideally I'd also like not to involve polling another service. Are there any good solutions for this?
I realise not using a DB is a strong limitation and if I have to use one then I'll use one, but still not having to poll would be useful (I guess I could schedule a lambda function and create an index on the timestamp in dynamodb)