This requirement has come up often and I think its worth while to spend some time to come up with an elegant solution. We have offered work around but it still requires users to write write quite a bit of complex code
Problem statement: Schedule a Task(s) in the cluster. The task can be Adhoc (one time) or Recurring (every X minutes or once between 12 to 3 AM etc - basically a cron expression). Additional criteria as to where the task should be run, it can be run on any node in the cluster or any node in that cluster that hosts a particular resource and in a particular state. If the task fails we might have to retry the task, it can either retry x times before trying on another node etc. There might be additional constraints that not more than X tasks should be run on a particular node or across the entire cluster. Helix supports all these features in one way or the other but there is no first class support of API that encapsulates all the above features. Any thoughts on how such an API/DSL should look like ? thanks, Kishore G
