HomePhabricator

Implement common base class for "looping check" monitors

Description

Implement common base class for "looping check" monitors

Many monitors (but not all) check their realservers by doing a
looping call at a semi-fixed interval. Rather than implementing
and testing this separately for each monitor, move this functionality
to a common base class, LoopingCheckMonitoringProtocol.

Instead of DelayedCall / reactor.callLater, use a LoopingCall.
This removes the need for each check to make sure to set up a new
call. The main concern previously was that this could result in
multiple checks running at the same time if a check is slow, but
this is taken care of if checks return a Deferred.

Change-Id: I4ab40dfb7b18a59124294c2956fcbc4787436fcb

Details

Provenance
markAuthored on May 25 2018, 2:29 PM
Parents
rODCB4ed174748093: Adapt ProxyFetch tests to use tcpClients and sslClients
Branches
Unknown
Tags
Unknown
References
refs/changes/64/435764/4
ChangeId
I4ab40dfb7b18a59124294c2956fcbc4787436fcb