JS - JobScheduler
  1. JS - JobScheduler
  2. JS-1464

Allow jobs to run in different process classes

    Details

      Description

      Current Situation

      • With JS-1301 Job chains can have default process classes.
      • If a Job is used in different Job chains with different process classes, JobScheduler might raise an error if a task for this job is already running but needs to be started for another process class.

      Desired Behaviour

      • A job should be able to run in different process classes
        • at the same time (if enough tasks are available)
        • sequentially (if it needs to be started for more process classes than available tasks)

      Limitations

      • Jobs that are assigned a process class via a job chain do not cause idle jobs to end themselves in order to release their slot in the process class.
      • This limitation is addressed by JS-1481

      Considerations
      under construction

      • The tasks attribute of the job specifies the allowed number of tasks of this job per JobScheduler Master, not per process_class.
        • If a job has tasks="3" and is configured for 2 process classes, then a total number of 3 instances of this job is allowed, not 6.
      • If tasks are running and a task start is requested for a process class for which no task is running or no running task is idle and...
        • if there are still tasks available for the job, then a new task is started for that process class
        • if there are no tasks available for the job and...
          • a task of another process class is idle, then the idle task is ended in favor of the waiting process class
          • all other tasks of this job are busy, then then the order has to wait
            • do we need some algorithm here (round-robin) to prevent starving?

        Issue Links

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              Joacim Zschimmer
              Reporter:
              Andreas Liebert (Inactive)
              Approver:
              Andreas Liebert (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: