Пример #1
0
        private static void ForceDNSTimer_Elapsed(Object sender, ElapsedEventArgs e)
        {
            ForceDNSTimer.Enabled = false;

            Log.Information("ForceDNSJob Elapsed, Checking Status...");

            var response = AppStatusService.CheckStatus(_settings).Result;

            CriticalProcessBase.StatusChanged(response);

            Log.Information("ForceDNSJob Responded With: " + response.ToString());

            if (response.Interval == null)
            {
                End();

                return;
            }

            if (response.Status == AppStatus.DNSON)
            {
                DnsKeeperJob.Begin(_settings);
            }
            else if (response.Status == AppStatus.DNSOFF)
            {
                DnsKeeperJob.End();
            }
            else
            {
                Log.Error("Could Not Retrieve Date Time From NTP. Checking again in 30 seconds...");
            }

            ForceDNSTimer.Interval = response.Interval.Value;
            ForceDNSTimer.Enabled  = true;
        }
Пример #2
0
        public static void End()
        {
            Log.Information("ForceDNSJob Ending");

            DnsKeeperJob.End();

            ForceDNSTimer?.Stop();
            ForceDNSTimer?.Dispose();
            ForceDNSTimer?.Close();
        }