Details
-
Fix
-
Status: Known Issue (View Workflow)
-
Minor
-
Resolution: Won't Fix
-
None
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.