A scenario configuration is necessary to instantiate a Scenario. To create a
ScenarioConfig you can use the
Config.configure_scenario() method with the following parameters:
- id: The id of new scenario configuration to be created. This id is mandatory and must be a unique and valid Python variable name.
- pipelines: The list of pipeline configs.
- frequency: The recurrence of the scenarios instantiated from this configuration. Based on this frequency the scenarios will be attached to the right cycles.
- comparators: The list of functions used to compare scenarios. A comparator function is attached to a scenario's data node configuration. During the scenario comparison, each comparator is applied to all the data nodes instantiated from the data node configuration attached to the comparator.
- properties: A dictionary of additional properties.
From pipeline configs¶
Here is a simple example assuming the pipeline configuration
pipeline_config has already been created :
1 2 3 4
In this example, we create a scenario configuration
ScenarioConfig from a pipeline configuration already defined.
From task configs¶
When the scenario configuration contains only one single pipeline configuration, we can also create the
ScenarioConfig from the task configurations directly.
1 2 3 4
Behind the scenes, a pipeline configuration is created. Its id will be the scenario configuration id with the
_pipeline postfix (
multiply_scenario_pipeline in the example).
Note that the pipeline id can be configured as an optional parameter as follows:
1 2 3 4 5 6
Assuming the pipeline configuration
pipeline_config has already been created, here is an example of a weekly
scenario configuration :
1 2 3 4 5 6
In this small example, we create a scenario configuration
ScenarioConfig from a pipeline configuration with a
WEEKLY frequency. When scenarios (entities) do get created using the scenario configuration above, they will be
associated to a Cycle corresponding to their creation date. See documentation on
Scenario and cycle management.
The next section introduces the global configuration.
Using scenario comparators¶
Let us imagine a common situation where the pipeline configuration
pipeline_config has been created with
datanode_config as one of the data node configuration for this the pipeline configuration. The function
compare_function is also defined as followed:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
We created the scenario configuration
scenario_config using the indicated pipeline configuration. We use the
comparators parameter to provide a dictionary indicating which data node need to be compared and with what function.