title: Spring + RabbitMQ: Tracking progress of a big task
body: <p>I'm using Spring MVC 3.2 and RabbitMQ to process data asynchronously for a web app. By using a message queue, the tasks can be easily executed in the background.</p>
  
  <p>However, I started wondering what would be the best way to keep track of the progress of a big job and the overall approach to such a problem.</p>
  
  <p>Without RabbitMQ it might be so easy as to create a new thread and communicate with that, but RabbitMQ adds extra complexity.</p>
  
  <p>Any advice on the best architecture would be appreciated.</p>
  
  <p>A job could be something like "download the photographs for 10.000 products and refresh caches". I'd like to be able to show the user a percentage of the progress in real-time.</p>