Uploaded image for project: 'JS - JobScheduler'
  1. JS - JobScheduler
  2. JS-1464

Allow jobs to run in different process classes

    XMLWordPrintable

    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?

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: