Class HealthRunner
java.lang.Object
com.kingsrook.qqq.backend.core.health.HealthRunner
- All Implemented Interfaces:
AutoCloseable
Slot-leased health execution. Probe threads are bounded even if interruption
is ignored. Every worker installs and clears its own automated QContext.
-
Constructor Summary
ConstructorsConstructorDescriptionHealthRunner(QInstance qInstance, String podId, Clock clock) Construction does not schedule work. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close transient runners after record actions.static HealthRunnergetForInstance(QInstance qInstance) Find the runner started for this instance in this JVM.getLastOutcome(String name) Last sanitized outcome, including probes made during a storage outage.getLastOutcomeAt(String name) Completion time used by readiness to reject stale cached results.On-demand uses a unique request id and deliberately ignores enabled.voidstart()Synchronize definitions before beginning fixed-delay ticks.voidstop()Stop scheduling and interrupt probes; daemon threads cannot hold shutdown.voidtick()Public deterministic tick.withRandom(Random random) Configure deterministic jitter before starting this runner.
-
Constructor Details
-
HealthRunner
-
-
Method Details
-
withRandom
Configure deterministic jitter before starting this runner. -
getForInstance
Find the runner started for this instance in this JVM. -
getLastOutcome
Last sanitized outcome, including probes made during a storage outage. -
getLastOutcomeAt
-
start
Synchronize definitions before beginning fixed-delay ticks.- Throws:
QException
-
stop
public void stop()Stop scheduling and interrupt probes; daemon threads cannot hold shutdown. -
close
public void close()Close transient runners after record actions.- Specified by:
closein interfaceAutoCloseable
-
tick
public void tick()Public deterministic tick. Launch all available probes before awaiting any. -
runNow
On-demand uses a unique request id and deliberately ignores enabled.- Throws:
QException
-