using System; using Microsoft.Extensions.Logging; using AyaNova.Util; namespace AyaNova.Biz { /// /// called by Generator to kill report generation processor stuck in limbo (chromium at this time) /// internal static class CoreJobReportRenderEngineProcessCleanup { private static ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger("CoreJobReportRenderEngineProcessCleanup"); private static DateTime _lastRun = DateTime.UtcNow; //SET LOW INTENTIONALLY AS CAN EAT UP A LOT OF RESOURCES QUICKLY IF RUN'S PAST TIME private static TimeSpan tsRunEvery = new TimeSpan(0, 1, 1);//every this minutes run the cleanup task //////////////////////////////////////////////////////////////////////////////////////////////// // // public static void DoWork() { if (DateUtil.IsAfterDuration(_lastRun, tsRunEvery)) { log.LogDebug("Checking for expired processes"); Util.ReportRenderManager.KillExpiredRenders(log); //FileUtil.CleanTemporaryFilesFolder(new TimeSpan(0,5,0));//erase any files found to be older than 5 minutes var now = DateTime.UtcNow; _lastRun = now; } } ///////////////////////////////////////////////////////////////////// }//eoc }//eons