Skip to content
Snippets Groups Projects
Commit af1491ee authored by Ruud Overeem's avatar Ruud Overeem
Browse files

Task #7360: ObservationControl will wait ObservationControl.finalStateDelay...

Task #7360: ObservationControl will wait ObservationControl.finalStateDelay seconds before reporting the final state to the MACScheduler.
parent e6f8ea50
No related branches found
No related tags found
No related merge requests found
......@@ -107,10 +107,11 @@ ObservationControl::ObservationControl(const string& cntlrName) :
itsProcessType = globalParameterSet()->getString("Observation.processType", "Observation");
// Values from my conf file
itsLateLimit = globalParameterSet()->getTime ("ObservationControl.lateLimit", 15);
itsFailedLimit = globalParameterSet()->getTime ("ObservationControl.failedLimit", 30);
itsHeartBeatItv = globalParameterSet()->getTime ("ObservationControl.heartbeatInterval", 10);
string reportType= globalParameterSet()->getString("ObservationControl.reportType", "Full");
itsLateLimit = globalParameterSet()->getTime ("ObservationControl.lateLimit", 15);
itsFailedLimit = globalParameterSet()->getTime ("ObservationControl.failedLimit", 30);
itsHeartBeatItv = globalParameterSet()->getTime ("ObservationControl.heartbeatInterval", 10);
itsFinalStateDelay = globalParameterSet()->getTime ("ObservationControl.finalStateDelay", 10);
string reportType = globalParameterSet()->getString("ObservationControl.reportType", "Full");
if (reportType == "Full") itsFullReport = true;
else if (reportType == "Changes") itsChangeReport = true;
......@@ -655,6 +656,8 @@ GCFEvent::TResult ObservationControl::finishing_state(GCFEvent& event,
setState(CTState::QUITED);
// inform MACScheduler we are going down
LOG_INFO_STR("Waiting " << itsFinalStateDelay << " seconds before reporting final state...");
sleep (itsFinalStateDelay);
CONTROLQuitedEvent msg;
msg.cntlrName = getName();
msg.result = itsQuitReason;
......
......@@ -28,3 +28,7 @@ ObservationControl.reportType = Full
#
ObservationControl.emergencyTimeout = 1h
#
# Delay before reporting FINAL state to MACScheduler
#
ObservationControl.finalStateDelay = 10s
......@@ -171,6 +171,7 @@ private:
uint32 itsTreeID;
uint32 itsHeartBeatItv;
uint32 itsForcedQuitDelay;
uint32 itsFinalStateDelay;
uint32 itsClaimPeriod;
uint32 itsPreparePeriod;
int32 itsLateLimit; // after how many seconds a requested state should have been reached.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment