@@ -92,8 +92,8 @@ void TaskRunner::init(InitContext& iCtx)
9292 // registering state machine callbacks
9393 try {
9494 iCtx.services ().get <CallbackService>().set <CallbackService::Id::Start>([this , services = iCtx.services ()]() mutable { start (services); });
95+ iCtx.services ().get <CallbackService>().set <CallbackService::Id::Stop>([this , services = iCtx.services ()]() { stop (services); });
9596 iCtx.services ().get <CallbackService>().set <CallbackService::Id::Reset>([this ]() { reset (); });
96- iCtx.services ().get <CallbackService>().set <CallbackService::Id::Stop>([this ]() { stop (); });
9797 } catch (o2::framework::RuntimeErrorRef& ref) {
9898 ILOG (Error) << " Error during initialization: " << o2::framework::error_from_ref (ref).what << ENDM;
9999 }
@@ -320,9 +320,10 @@ void TaskRunner::start(ServiceRegistryRef services)
320320 }
321321}
322322
323- void TaskRunner::stop ()
323+ void TaskRunner::stop (ServiceRegistryRef services )
324324{
325325 try {
326+ mActivity = o2::quality_control::core::computeActivity (services, mActivity );
326327 if (mCycleOn ) {
327328 mTask ->endOfCycle ();
328329 mCycleNumber ++;
@@ -414,7 +415,7 @@ void TaskRunner::endOfActivity()
414415
415416 auto now = getCurrentTimestamp ();
416417 mTimekeeper ->updateByCurrentTimestamp (now);
417- mTimekeeper ->setEndOfActivity (0 , mTaskConfig .fallbackActivity .mValidity .getMax (), now, activity_helpers::getCcdbEorTimeAccessor (mActivity .mId )); // TODO: get end of run from ECS/BK if possible
418+ mTimekeeper ->setEndOfActivity (mActivity . mValidity . getMax () , mTaskConfig .fallbackActivity .mValidity .getMax (), now, activity_helpers::getCcdbEorTimeAccessor (mActivity .mId ));
418419
419420 mTask ->endOfActivity (mObjectsManager ->getActivity ());
420421 mObjectsManager ->removeAllFromServiceDiscovery ();
0 commit comments