Skip to content

Commit 53fb74d

Browse files
authored
DPL: set run number in start rather than in init (#7364)
1 parent dd8eb9c commit 53fb74d

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

Framework/Core/src/CommonServices.cxx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,17 @@ o2::framework::ServiceSpec CommonServices::monitoringSpec()
9898
assert(registry.get<DeviceSpec const>().name.empty() == false);
9999
monitoring->addGlobalTag("dataprocessor_id", registry.get<DeviceSpec const>().id);
100100
monitoring->addGlobalTag("dataprocessor_name", registry.get<DeviceSpec const>().name);
101-
try {
102-
auto run = registry.get<RawDeviceService>().device()->fConfig->GetProperty<std::string>("runNumber", "unspecified");
103-
monitoring->setRunNumber(stoul(run));
104-
} catch (...) {
105-
}
106101
return ServiceHandle{TypeIdHelpers::uniqueId<Monitoring>(), service};
107102
},
108103
.configure = noConfiguration(),
104+
.start = [](ServiceRegistry& services, void* service) {
105+
o2::monitoring::Monitoring* monitoring = (o2::monitoring::Monitoring *) service;
106+
auto& context = services.get<DataTakingContext>();
107+
108+
try {
109+
monitoring->setRunNumber(std::stoul(context.runNumber.c_str()));
110+
} catch (...) {
111+
} },
109112
.exit = [](ServiceRegistry& registry, void* service) {
110113
Monitoring* monitoring = reinterpret_cast<Monitoring*>(service);
111114
delete monitoring; },
@@ -562,8 +565,8 @@ std::vector<ServiceSpec> CommonServices::defaultServices(int numThreads)
562565
std::vector<ServiceSpec> specs{
563566
timesliceIndex(),
564567
driverClientSpec(),
565-
monitoringSpec(),
566568
datatakingContextSpec(),
569+
monitoringSpec(),
567570
infologgerContextSpec(),
568571
infologgerSpec(),
569572
configurationSpec(),

0 commit comments

Comments
 (0)