mirror of
https://github.com/Icinga/icinga2.git
synced 2025-04-08 17:05:25 +02:00
CheckerComponent#CheckThreadProc(): also propagate next check update to Icinga DB
if caused by dependency or check period. Now as long as any of the above causes check skips next check and next update will be up-to-date in Icinga DB, so the checkable won't slide into false positive overdue.
This commit is contained in:
parent
11e37a0bd1
commit
e9b8c67975
@ -134,12 +134,15 @@ void CheckerComponent::CheckThreadProc()
|
||||
|
||||
bool forced = checkable->GetForceNextCheck();
|
||||
bool check = true;
|
||||
bool notifyNextCheck = false;
|
||||
|
||||
if (!forced) {
|
||||
if (!checkable->IsReachable(DependencyCheckExecution)) {
|
||||
Log(LogNotice, "CheckerComponent")
|
||||
<< "Skipping check for object '" << checkable->GetName() << "': Dependency failed.";
|
||||
|
||||
check = false;
|
||||
notifyNextCheck = true;
|
||||
}
|
||||
|
||||
Host::Ptr host;
|
||||
@ -163,7 +166,9 @@ void CheckerComponent::CheckThreadProc()
|
||||
Log(LogNotice, "CheckerComponent")
|
||||
<< "Skipping check for object '" << checkable->GetName()
|
||||
<< "': not in check period '" << tp->GetName() << "'";
|
||||
|
||||
check = false;
|
||||
notifyNextCheck = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -177,6 +182,11 @@ void CheckerComponent::CheckThreadProc()
|
||||
|
||||
checkable->UpdateNextCheck();
|
||||
|
||||
if (notifyNextCheck) {
|
||||
// Trigger update event for Icinga DB
|
||||
Checkable::OnNextCheckUpdated(checkable);
|
||||
}
|
||||
|
||||
lock.lock();
|
||||
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user