Schedulers
The Scheduler is the part of ModelCenter responsible for knowing which components need to be run and when in a workflow. Scheduler is primarily used for Data workflows, but will also work in Process workflows.
ModelCenter maintains two states for all output variables: valid and invalid.
The valid state is displayed in the Component Tree as a box with an arrow pointing
out of it:
. The same icon with a
red X through it indicates the invalid state: ![]()
When an input to a component is modified, the Scheduler marks all downstream variables as invalid. An output variable is marked valid after the component that it is an output of is run. Consider the workflow shown below.
If B is modified, the downstream variables D, E, F, G, and H are each marked invalid.
Requesting a value for G causes the Scheduler to run first component 2 and then component 3. Note that even though C is linked to E, component 1 does not need to be run because its outputs were never marked invalid. Also note that component 4 did not need to be run because its outputs were not required and remained invalid.