From 370158e0ecd303fd1d2eaa1b358606f689d3da3d Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Tue, 7 Mar 2023 08:14:58 +0100 Subject: [PATCH] Added counter, logging and exception handling --- bsmd.dbh/MessageController.cs | 43 +++++++++++++++-------- bsmd.hisnord/transmitter.cs | 64 ++++++++++++++++++++++------------- 2 files changed, 70 insertions(+), 37 deletions(-) diff --git a/bsmd.dbh/MessageController.cs b/bsmd.dbh/MessageController.cs index d674f590..f634d7b9 100644 --- a/bsmd.dbh/MessageController.cs +++ b/bsmd.dbh/MessageController.cs @@ -161,25 +161,40 @@ namespace bsmd.dbh public static void PurgeOldFiles(int maxAgeDays) { - DirectoryInfo info = new DirectoryInfo(Properties.Settings.Default.IncomingArchiveFolder); - FileInfo[] files = info.GetFiles(); - foreach (FileInfo file in files) + try { - if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) + int cnt = 0; + DirectoryInfo info = new DirectoryInfo(Properties.Settings.Default.IncomingArchiveFolder); + FileInfo[] files = info.GetFiles(); + foreach (FileInfo file in files) { - _log.Debug($"deleting {file.Name}"); - file.Delete(); + if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) + { + _log.Debug($"deleting {file.Name}"); + file.Delete(); + cnt++; + } } + _log.Info($"deleted {cnt} files from {Properties.Settings.Default.IncomingArchiveFolder}"); + + cnt = 0; + info = new DirectoryInfo(Properties.Settings.Default.OutgoingArchiveFolder); + files = info.GetFiles(); + foreach (FileInfo file in files) + { + if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) + { + _log.Debug($"deleting {file.Name}"); + file.Delete(); + cnt++; + } + } + _log.Info($"deleted {cnt} files from {Properties.Settings.Default.OutgoingArchiveFolder}"); + } - info = new DirectoryInfo(Properties.Settings.Default.OutgoingArchiveFolder); - files = info.GetFiles(); - foreach (FileInfo file in files) + catch(Exception ex) { - if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) - { - _log.Debug($"deleting {file.Name}"); - file.Delete(); - } + _log.ErrorFormat("Error deleting old files: {0}", ex.Message); } } diff --git a/bsmd.hisnord/transmitter.cs b/bsmd.hisnord/transmitter.cs index 4ceefbe8..20bc0fec 100644 --- a/bsmd.hisnord/transmitter.cs +++ b/bsmd.hisnord/transmitter.cs @@ -110,38 +110,56 @@ namespace bsmd.hisnord public static void PurgeOldFiles(int maxAgeDays) { - // "ANSWERS_DONE" - DirectoryInfo info = new DirectoryInfo(Path.Combine(Properties.Settings.Default.TransmitterRoot, Properties.Settings.Default.AnswerArchiveDir)); - FileInfo[] files = info.GetFiles(); - foreach (FileInfo file in files) + try { - if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) + // "ANSWERS_DONE" + DirectoryInfo info = new DirectoryInfo(Path.Combine(Properties.Settings.Default.TransmitterRoot, Properties.Settings.Default.AnswerArchiveDir)); + FileInfo[] files = info.GetFiles(); + int cnt = 0; + foreach (FileInfo file in files) { - _log.Debug($"deleting {file.Name}"); - file.Delete(); + if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) + { + _log.Debug($"deleting {file.Name}"); + file.Delete(); + cnt++; + } } - } + _log.Info($"deleted {cnt} files from {Properties.Settings.Default.AnswerArchiveDir}"); - info = new DirectoryInfo(Path.Combine(Properties.Settings.Default.TransmitterRoot, Properties.Settings.Default.ResultDir)); // "RESULTS" - files = info.GetFiles(); - foreach (FileInfo file in files) - { - if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) + // "RESULTS" + cnt = 0; + info = new DirectoryInfo(Path.Combine(Properties.Settings.Default.TransmitterRoot, Properties.Settings.Default.ResultDir)); + files = info.GetFiles(); + foreach (FileInfo file in files) { - _log.Debug($"deleting {file.Name}"); - file.Delete(); + if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) + { + _log.Debug($"deleting {file.Name}"); + file.Delete(); + cnt++; + } } - } + _log.Info($"deleted {cnt} files from {Properties.Settings.Default.ResultDir}"); - info = new DirectoryInfo(Path.Combine(Properties.Settings.Default.TransmitterRoot, "READY")); - files = info.GetFiles(); - foreach (FileInfo file in files) - { - if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) + // "READY" + cnt = 0; + info = new DirectoryInfo(Path.Combine(Properties.Settings.Default.TransmitterRoot, "READY")); + files = info.GetFiles(); + foreach (FileInfo file in files) { - _log.Debug($"deleting {file.Name}"); - file.Delete(); + if (file.CreationTime < DateTime.Now.AddDays(-maxAgeDays)) + { + _log.Debug($"deleting {file.Name}"); + file.Delete(); + cnt++; + } } + _log.Info($"deleted {cnt} files from READY"); + } + catch(Exception ex) + { + _log.ErrorFormat("Error trying to delete old files: {0}", ex.Message); } }