In my app I let users send messages and emails. I'd like to enable them to schedule them for sending - i.e. set a time and date when they'll be sent.
I've got quite a lot of messages being sent - how best can I architect this so that it'll scale? I've got them being stored in PostgreSQL for now, but I have no way other than polling to check which need to be sent. I'd like to avoid polling if possible.
I'm currently running PHP, node.js, redis, PostgreSQL and RabbitMQ on EC2, so any combination of those is favourable.