From e413961bafe22d9758f4402613fad02fe9e2fb18 Mon Sep 17 00:00:00 2001 From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch> Date: Tue, 5 Jun 2018 15:53:23 +0200 Subject: [PATCH] Add SerializeHeartbeat() --- ATxCommon/Serializables/ServiceStatus.cs | 8 ++++++++ ATxService/AutoTx.cs | 5 +---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ATxCommon/Serializables/ServiceStatus.cs b/ATxCommon/Serializables/ServiceStatus.cs index 5df0e42..216ae1c 100644 --- a/ATxCommon/Serializables/ServiceStatus.cs +++ b/ATxCommon/Serializables/ServiceStatus.cs @@ -75,6 +75,14 @@ namespace ATxCommon.Serializables Log.Trace("Finished serializing [{0}].", _storageFile); } + /// <summary> + /// Wrapper to serialize XML if time since last is above threshold (default = 1 min). + /// </summary> + public void SerializeHeartbeat(int timeout=60) { + if (TimeUtils.SecondsSince(_lastStatusUpdate) >= timeout) + Serialize(); + } + public static ServiceStatus Deserialize(string file, ServiceConfig config) { Log.Trace("Trying to deserialize status XML file [{0}].", file); ServiceStatus status; diff --git a/ATxService/AutoTx.cs b/ATxService/AutoTx.cs index 622b409..edca7f8 100644 --- a/ATxService/AutoTx.cs +++ b/ATxService/AutoTx.cs @@ -598,10 +598,7 @@ namespace ATxService // mandatory tasks, run on every call: SendLowSpaceMail(SystemChecks.CheckFreeDiskSpace(_config.SpaceMonitoring)); UpdateServiceState(); - - // update the status heartbeat at least once a minute: - if (TimeUtils.SecondsSince(_status.LastStatusUpdate) >= 60) - _status.Serialize(); + _status.SerializeHeartbeat(); if (TimeUtils.SecondsSince(_lastUserDirCheck) >= 120) CreateIncomingDirectories(); -- GitLab