title: Suggestions for distributed task scheduling and Job queue in spring boot
body: <p><strong>REQUIREMENT :</strong></p>
  
  <p>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 . </p>
  
  <p><strong>TOOLS WITH WHICH WE CAN ACHIEVE THE SAME:</strong></p>
  
  <p>I can achieve the same needed functionality with <strong><em><code>spring-retry</code></em></strong>. But, there are multiple containers available (distributed environment). Tools like <code>Rabbit-MQ</code>, <code>Amazon-sqs</code>, <code>Redis-quartz</code> supports this features. But Im not sure which one is better for springboot. </p>
  
  <p><strong>FACTORS FOR CONSIDERATION :</strong></p>
  
  <p>Below are the stuffs that needs to be considered for choosing right tools :</p>
  
  <blockquote>
    <p>Distributed environment<br>
    Consistency<br>
    Fault Tolerance<br>
    Ease of configuration<br>
    Async processing</p>
  </blockquote>
  
  <p><strong>QUESTION</strong></p>
  
  <p>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 .</p>