REQUIREMENT :
In my project(runs in distributed environment) we have requirement to for a job to be scheduled at fixed time with initial delay of 1 min and it will retry if the job execution failed and it can do a max retry of 10 times with 2 mins delay between each .
TOOLS WITH WHICH WE CAN ACHIEVE THE SAME:
I can achieve the same needed functionality with spring-retry
. But, there are multiple containers available (distributed environment). Tools like Rabbit-MQ
, Amazon-sqs
, Redis-quartz
supports this features. But Im not sure which one is better for springboot.
FACTORS FOR CONSIDERATION :
Below are the stuffs that needs to be considered for choosing right tools :
Distributed environment
Consistency
Fault Tolerance
Ease of configuration
Async processing
QUESTION
Basically Im looking for something similar to Resqueue and sidekiq ruby implementation equivalent in Java(springBoot). Has anyone achieved the same functionality in their application ? If so , what would be the better choice /way provided with the pros and cons . Suggestions are welcome .