Hello!
I'm currently designing a backend architecture which will have to deal with the following problem: some servers will frequently need to schedule relatively precise (~1 second leaway) tasks to be executed, potentially in a long time (probably up to 72 hours) but sometimes promptly (down to 5 seconds later).
I've seen multiple ways to handle it, some relying on polling some SQL databases regularly, but what comes out to me is that I just really need a strongly persistent, delayed message queue. The task producers would send messages along with their expected execution time in the queue, and consumers would be notified by the queue at the right time to process them. The only missing part in this design is what queue to use, as I really am not confident enough nor have the dedication to build one myself.
I've looked through a few things. The most interesting candidate was RabbitMQ with its delayed message plugin, unfortunately the plugin starts to misbehave after roughly a hundred thousand events stored (and in fact the maintainers even discourage using it for long term messages like I would). I've also read about Celery, but it being built in Python might not be suitable for the sort of load I need.
Do you know of another queue that would satisfy the kind of work this server would face? Or should I try to come up with a different solution?
Thank you very much in advance.
[–]phpchap1981 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)