Merge pull request #8830 from Icinga/feature/idb-passive-overdue

Icinga DB: no active checks? Not overdue!
This commit is contained in:
Noah Hilverling 2021-07-07 11:15:04 +02:00 committed by GitHub
commit ef73136076
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 10 deletions

View File

@ -285,7 +285,7 @@ void IcingaDB::UpdateAllConfigObjects()
auto checkable (dynamic_pointer_cast<Checkable>(object));
if (checkable) {
if (checkable && checkable->GetEnableActiveChecks()) {
auto zAdds (dynamic_pointer_cast<Service>(checkable) ? &serviceZAdds : &hostZAdds);
zAdds->emplace_back(Convert::ToString(checkable->GetNextUpdate()));
@ -2005,15 +2005,26 @@ void IcingaDB::SendNextUpdate(const Checkable::Ptr& checkable)
if (!m_Rcon || !m_Rcon->IsConnected())
return;
m_Rcon->FireAndForgetQuery(
{
"ZADD",
dynamic_pointer_cast<Service>(checkable) ? "icinga:nextupdate:service" : "icinga:nextupdate:host",
Convert::ToString(checkable->GetNextUpdate()),
GetObjectIdentifier(checkable)
},
Prio::CheckResult
);
if (checkable->GetEnableActiveChecks()) {
m_Rcon->FireAndForgetQuery(
{
"ZADD",
dynamic_pointer_cast<Service>(checkable) ? "icinga:nextupdate:service" : "icinga:nextupdate:host",
Convert::ToString(checkable->GetNextUpdate()),
GetObjectIdentifier(checkable)
},
Prio::CheckResult
);
} else {
m_Rcon->FireAndForgetQuery(
{
"ZREM",
dynamic_pointer_cast<Service>(checkable) ? "icinga:nextupdate:service" : "icinga:nextupdate:host",
GetObjectIdentifier(checkable)
},
Prio::CheckResult
);
}
}
void IcingaDB::SendAcknowledgementSet(const Checkable::Ptr& checkable, const String& author, const String& comment, AcknowledgementType type, bool persistent, double changeTime, double expiry)