Hi Community. I have an Orchestration job that starts with a Python component to set 2 variables. These values are correctly passed for each Transformation job in the flow. However, if I add another Orchestration component into the original one, it seems that my variables change to their default values. How can I prevent this?
4 Community Answers
Ian Funnell —
Are the variables local or global? If you’re not using iterators in concurrent mode, you should be using globals.
Also, what orchestration component did you add which had the effect of resetting the values?
Hi Ian - didn't realize that you had responded (thought I would get an email notification that someone responded to my post). I opened a ticket last night and Harpreet suggested the same thing...use Global variables. I change both of my variables to global and the job is running now....looks like it's working.
On another note, how can i create a dependency to ensure that the main orchestration job doesn't run more than once at the same time? I want to wait until the job completes (either successfully or unsuccessfully) before the next schedule run kicks off or before someone manually tries to run the main job.
Great to hear the variables are working in the way that you need. There’s a documentation page on this subject which goes into the full details.
Regarding job dependencies, Matillion’s default behaviour is to not permit more than one instance of any job to be running at a time.
So if you have a job which is still running, and you try to launch a second copy of it (either via the scheduler or by just pressing Run Job) then the job instances will queue rather than starting to run. In the Tasks console you’ll see an hourglass icon for every waiting instance, and at most one running instance.