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

Reply via email to