we have 4 task servers, all our scheduled jobs are currently running on them. We want to introduce TaskHost5 but we want to use it for a specific task only and we dont want existing tasks to run on it.
Possible solution - give hostname as TaskHost1,TaskHost2,TaskHost3,TaskHost4 in all current task definitions and give TaskHost5 in that one specific task.
Any other idea ?
By the KISS principle, yes, that’s the way to go.
But if you say you have thousands of tasks and which servers they should run on is a very complicated configuration, then you need to have a task to launch tasks programmatically, inserting the appropriate parameters including hostname (e.g. reading settings from a Custom object).
- Your task (to launch tasks) will be a Run Rule task.
- It will take in the child task name as a parameter.
- As well as any parameters intended for the child task.
- On start it checks a Custom object to see if there are any specific target servers defined for the child task, and calculate a hostname parameter (empty if none specified, so it runs on any server available).
-
Launch child task with the parameters.
- Reconfigure all your original tasks into using this new task.
So you end up modifying all your tasks anyway… so probably not worth it.