2 jobs in two different Workflows. When both are trying to run, they have contention between the two, hold up an intiator and job swapped out. Is there a parameter or something I can put into UC4 so they don't both run together?
QUEUE or SYNC are usable to get a visible contention.
SYNC with 3 states : AVAILABLE, IN_USE, LOCKED
AVAILABLE => job can start
IN_USE => job must wait as another job is running
LOCKED => no job can run, something is prohibiting run of any job
pro for SYNC :
- unlimited number of objects can refer the SYNC object
- possibility to monitor the SYNC and have a logging of the activity
- attached to the object, regardless how it is used
- works regardless how it is activated but can be bypassed ("ignore sync function in activity window")
pro for QUEUE :
- simple monitoring
- unlimited number of objects
- can be modified dynamically to accept more parallel run (careful if application logic doesn't support parallel runs !)
- can stop runs by simply stop the QUEUE or set it to accept 0 object activation
Cons for SYNC :
- not a familair object for many people
- need to be set properly to work without trouble (not too many states please !)
- not visible in the activity window, only status can say if object is in waiting status for SYNC to be available
- cannot be dynamically modified for allowing multiple parallel runs
Cons for QUEUE :
- is permanently in the activity window regardless of the usage => too many QUEUE to monitor if this option is largely used
- attribute can be overriden by upper level attribute (Job vs Workflow, Workflow vs Schedule, Objects in JOBGROUP, ....)
- no log of activity of objects in the QUEUE like for the Agents
Hope this can help you to make a choice.
there are several possibilities.
#1: put them in a seperate Queue and reduce slots to only one slot (simplest method)
#2: you can use scripting methods to set a value in a VAR in prescript
#3: using a SYNC object
possibly #4: it might work using external dependencies but i am not sure and did not try it myself
My favorite solution for this is the SYNC object.
Retrieving data ...