Task server exclusion

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).

  1. Your task (to launch tasks) will be a Run Rule task.
  2. It will take in the child task name as a parameter.
  3. As well as any parameters intended for the child task.
  4. 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).
  5. Launch child task with the parameters.
  6. Reconfigure all your original tasks into using this new task.
    So you end up modifying all your tasks anyway… so probably not worth it.