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

Orders for job chains with the same job should not wait endlessly in the order queue

    XMLWordPrintable

Details

    Description

      Setup for the problem

      • We use two job chains (jobChainA and jobChainB) with one node.
        • The nodes of both job chains are assigned the same API job.
        • The job is configured to run in one task as this will reproduce the behaviour more easily.
        • The job implements a "sleep" operation for 60 seconds.
      • JobChainA is assigned two orders with repeat intervals of 50 seconds and 40 seconds.
      • Therefore the repeat intervals are shorter than the run time of the job.

      How to reproduce the problem

      • Add an order to jobChainB after both orders of jobChainA have run for at least one time. Then the added order of jobChainB never gets a task. It waits endlessly in the job's order queue.
      • If you add an order to jobChainA then it works properly. This order is processed after the running step of the task is finished.
      • See the attached sample.

      Workaround

      • It makes little sense to use repeat intervals for orders that are shorter than the execution time of the job nodes in a job chain as this would create an endless stream of orders for a job chain and would prevent usage of the same job in a different job chain.
      • Should you be forced to use such a configuration, e.g. due to non-deterministic execution time, then do not use the same job for different job chains.

      Attachments

        Activity

          People

            jz Joacim Zschimmer
            oh Oliver Haufe
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: