43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
using System;
|
|
using Microsoft.Extensions.Logging;
|
|
using AyaNova.Util;
|
|
|
|
|
|
namespace AyaNova.Biz
|
|
{
|
|
/// <summary>
|
|
/// called by Generator to kill report generation processor stuck in limbo (chromium at this time)
|
|
/// </summary>
|
|
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
|
|
|