Esempio n. 1
0
        public async void CheckOnceHealthyDoesNotKill()
        {
            A.CallTo(() => healthChecker.IsHostHealthy(A <string> ._, A <CancellationToken> ._)).Returns(true);

            for (int i = 0; i < CONSECUTIVE_DOWN_FOR_OUTAGE * 2; i++)
            {
                await watchdog.CheckOnce(cancellationTokenSource.Token);
            }

            A.CallTo(() => healthChecker.IsHostHealthy("1.2.3.4", cancellationTokenSource.Token))
            .MustHaveHappened(Repeated.Exactly.Times(CONSECUTIVE_DOWN_FOR_OUTAGE * 2));
            A.CallTo(() => processKiller.DisableProcesses(A <CancellationToken> ._)).MustNotHaveHappened();
        }
Esempio n. 2
0
 private async Task OnHostOutage(CancellationToken cancellationToken)
 {
     Console.WriteLine(
         $"Outage! {HostToWatch} has been down {consecutiveHealthFailures} times in a row, killing {string.Join(", ", ProcessesToKillOnHostDown)}.");
     await processKiller.DisableProcesses(cancellationToken);
 }