You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/handbook/configuration.md
+41-1Lines changed: 41 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,6 +64,46 @@ Consider the following example:
64
64
65
65
# Task Configuration
66
66
67
+
## Variables pushed to controlled tasks
68
+
69
+
FairMQ and non-FairMQ tasks may receive configuration values from a variety of sources, both from their own user code (for example by querying Apricot with or without the O² Configuration library) as well as via AliECS.
70
+
71
+
Variables whose availability to tasks is handled in some way by AliECS include
72
+
73
+
* variables pushed via the JIT mechanism to DPL devices
74
+
* variables delivered to tasks explicitly via task templates.
75
+
76
+
The latter can be
77
+
* sourced from Apricot with a query from the task template iself (e.g. `config.Get`), or
78
+
* sourced from the variables available to the current AliECS environment, as defined in the workflow template (e.g. readout-dataflow.yaml)
79
+
80
+
Depending on the specification in the task template (`command.env`, `command.arguments` or `properties`), the push to the given task can happen
81
+
* as system environment variables on task startup,
82
+
* as command line parameters on task startup, or
83
+
* as (FairMQ) key-values during `CONFIGURE`.
84
+
85
+
In addition to the above, which varies depending on the configuration of the environment itself as well as on the configuration of the system as a whole, some special values are pushed by AliECS itself during `START_ACTIVITY`:
86
+
87
+
* `runNumber`
88
+
* `fill_info_fill_number`
89
+
* `fill_info_filling_scheme`
90
+
* `fill_info_beam_type`
91
+
* `fill_info_stable_beam_start_ms`
92
+
* `fill_info_stable_beam_end_ms`
93
+
* `run_type`
94
+
* `run_start_time_ms`
95
+
* `lhc_period`
96
+
* `fillInfoFillNumber`
97
+
* `fillInfoFillingScheme`
98
+
* `fillInfoBeamType`
99
+
* `fillInfoStableBeamStartMs`
100
+
* `fillInfoStableBeamEndMs`
101
+
* `runType`
102
+
* `runStartTimeMs`
103
+
* `lhcPeriod`
104
+
105
+
FairMQ task implementors should expect that these values are written to the FairMQ properties map right before the `RUN` transition via `SetProperty` calls.
106
+
67
107
## Resource wants and limits
68
108
69
109
All task templates allow two top-level blocks with identical syntax: `wants`and `limits`. They are used to specify respectively the minimum claimed resources that the task will request from Mesos, and the maximum resource allowance which, if exceeded, will result in the task being killed.
@@ -81,4 +121,4 @@ limits:
81
121
memory: 8192 # 8 GB, all tasks on this machine will be killed if exceeded; cpu unlimited
0 commit comments