Skip to content

Commit fbc5249

Browse files
committed
example of TaskRunnerTraits
1 parent 5bb7a6c commit fbc5249

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

Framework/include/QualityControl/TaskRunner.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include <Framework/ServiceRegistryRef.h>
2929
// QC
3030
#include "QualityControl/TaskRunnerConfig.h"
31+
#include "QualityControl/ActorTraits.h"
3132

3233
namespace o2::configuration
3334
{
@@ -164,6 +165,27 @@ class TaskRunner : public framework::Task
164165
AliceO2::Common::Timer mTimerDurationCycle;
165166
};
166167

168+
template <>
169+
struct ActorTraits<TaskRunner>
170+
{
171+
constexpr static auto sActorTypeShort = "task";
172+
constexpr static auto sActorTypeKebabCase = "qc-task";
173+
constexpr static auto sActorTypeUpperCamelCase = "TaskRunner";
174+
constexpr static size_t sDataDescriptionHashLength = 4;
175+
176+
constexpr static std::array<Service, 3> sRequiredServices = {Service::InfoLogger, Service::Monitoring, Service::Bookkeeping};
177+
constexpr static bkp::DplProcessType sDplProcessType{bkp::DplProcessType::QC_TASK};
178+
constexpr static std::array<DataSourceType, 2> sConsumedDataSources = {DataSourceType::DataSamplingPolicy, DataSourceType::Direct};
179+
constexpr static std::array<DataSourceType, 1> sPublishedDataSources = {DataSourceType::Task};
180+
181+
constexpr static UserCodeInstanceCardinality sUserCodeInstanceCardinality = UserCodeInstanceCardinality::One;
182+
constexpr static bool sDetectorSpecific = true;
183+
constexpr static Criticality sCriticality = Criticality::UserDefined;
184+
};
185+
186+
static_assert(ValidActorTraits<ActorTraits<TaskRunner>>);
187+
188+
167189
} // namespace o2::quality_control::core
168190

169191
#endif // QC_CORE_TASKRUNNER_H

0 commit comments

Comments
 (0)