diff --git a/Framework/include/QualityControl/TaskRunner.h b/Framework/include/QualityControl/TaskRunner.h index 6f6625b3ab..5b6d38173b 100644 --- a/Framework/include/QualityControl/TaskRunner.h +++ b/Framework/include/QualityControl/TaskRunner.h @@ -133,6 +133,7 @@ class TaskRunner : public framework::Task std::string validateDetectorName(std::string name) const; boost::property_tree::ptree getTaskConfigTree() const; void updateMonitoringStats(framework::ProcessingContext& pCtx); + void computeRunNumber(const framework::ServiceRegistry& services); // consider moving these to TaskConfig framework::Inputs mInputSpecs; diff --git a/Framework/src/TaskRunner.cxx b/Framework/src/TaskRunner.cxx index ec1d9f37a5..eab5f78789 100644 --- a/Framework/src/TaskRunner.cxx +++ b/Framework/src/TaskRunner.cxx @@ -218,18 +218,22 @@ void TaskRunner::endOfStream(framework::EndOfStreamContext& eosContext) mNoMoreCycles = true; } -void TaskRunner::start(const ServiceRegistry& services) +void TaskRunner::computeRunNumber(const ServiceRegistry& services) { try { - auto temp = services.get().device()->fConfig->GetProperty("runNumber", "unspecified"); + auto temp = services.get().device()->fConfig->GetProperty("runNumber", "unspecified"); ILOG(Info, Devel) << "Got this property runNumber from RawDeviceService: " << temp << ENDM; mRunNumber = stoi(temp); ILOG(Info, Support) << "Run number found in options: " << mRunNumber << ENDM; - } catch (std::invalid_argument& ia) { - ILOG(Info, Support) << "Run number not found in options or is not a number, using 0 instead." << ENDM; - mRunNumber = 0; + } catch (invalid_argument& ia) { + ILOG(Info, Support) << "Run number not found in options or is not a number, using the one from the config file instead." << ENDM; + mRunNumber = mConfigFile->get("qc.config.Activity.number", 0); } - ILOG(Info, Ops) << "Starting run " << mRunNumber << ENDM; +} + +void TaskRunner::start(const ServiceRegistry& services) +{ + computeRunNumber(services); try { startOfActivity(); @@ -406,6 +410,8 @@ void TaskRunner::startOfActivity() int run = mRunNumber > 0 ? mRunNumber : mConfigFile->get("qc.config.Activity.number"); Activity activity(run, mConfigFile->get("qc.config.Activity.type")); + ILOG(Info, Ops) << "Starting run " << mRunNumber << ENDM; + mCollector->setRunNumber(run); mTask->startOfActivity(activity); mObjectsManager->updateServiceDiscovery(); }