I want to create a queue of pending ‘tasks’ and store each task in SQS. After that I will create a queue processing servlet in my java web app, that will process each task.
When a queue item is being read, the servlet will invoke another servlet with some specific run time parameters(Just like a task queue works in App Engine)…The servlet that is being invoked will then do the actual processing pertaining to that ‘task’ in queue.
What i want to know is, is there some way of controlling the processing of items in SQS, ie rate of processing of tasks, in a java web app running on EC2? I am looking for the functionality provided by Task Queues in Google App Engine, but for this specific application I would prefer to go with Amazon rather than App Engine…
Amazon just released Simple workflow serice (swf) which you can think of as a more sophisticated/flexible version of GAE Task queues.
Checkout http://docs.amazonwebservices.com/amazonswf/latest/developerguide/swf-dg-intro-to-swf.html for overview.