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
*[Update the shmem segment size of a detector](#update-the-shmem-segment-size-of-a-detector)
60
64
<!--te-->
61
65
62
66
[← Go back to Post-processing](PostProcessing.md) | [↑ Go to the Table of Content ↑](../README.md) | [Continue to Frequently Asked Questions →](FAQ.md)
@@ -457,6 +461,28 @@ Feel free to consult the existing usage examples among other modules in the QC r
457
461
458
462
Once a custom class is implemented, one should let QCG know how to display it correctly, which is explained in the subsection [Display a non-standard ROOT object in QCG](#display-a-non-standard-root-object-in-qcg).
459
463
464
+
## Critical and non-critical tasks
465
+
466
+
Some DPL devices can be marked as non-critical. It means that if they die the system will continue running. There is
467
+
obviously an impact as all the downstream devices won't get data.
468
+
469
+
In QC, one can mark a task as critical or non-critical:
470
+
471
+
```json
472
+
"tasks": {
473
+
"QcTask": {
474
+
"active": "true",
475
+
"critical": "false", "": "if false the task is allowed to die without stopping the workflow, default: true",
476
+
```
477
+
478
+
By default, they are critical.
479
+
480
+
Mergers are critical or not based on the criticality of the task they are merging data for.
481
+
482
+
Checkers are non-critical.
483
+
484
+
Post-processing ???
485
+
460
486
## QC with DPL Analysis
461
487
462
488
QC offers several ways to interact with the DPL Analysis framework.
@@ -1134,6 +1160,7 @@ the "tasks" path.
1134
1160
"className": "namespace::of::Task", "": "Class name of the QC Task with full namespace.",
1135
1161
"moduleName": "QcSkeleton", "": "Library name. It can be found in CMakeLists of the detector module.",
1136
1162
"detectorName": "TST", "": "3-letter code of the detector.",
1163
+
"critical": "true", "": "if false the task is allowed to die without stopping the workflow, default: true",
1137
1164
"cycleDurationSeconds": "10", "": "Cycle duration (how often objects are published), 10 seconds minimum.",
1138
1165
"": "The first cycle will be randomly shorter",
1139
1166
"maxNumberCycles": "-1", "": "Number of cycles to perform. Use -1 for infinite.",
0 commit comments