using iWare_SCADA_BusinessLogical.BLL; using iWare_SCADA_BusinessLogical.Utils; using iWare_SCADA_Model; using iWare_SCADA_Model.MiddleModel; using log4net; using System; using System.Collections.Generic; using System.Data.Entity.Core.Common.CommandTrees; using System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder; using System.Data.Entity.Validation; using System.Data.SqlTypes; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Web.UI.WebControls; using System.Windows.Forms; namespace iWare_SCADA_BusinessLogical { /// /// 定时删除数据 /// public class DeleteDataHandler : DataCaptureHandler { public static readonly DeleteDataHandler Instance = new DeleteDataHandler(); public static readonly LogType logType = LogType.DeleteData; public DeleteDataHandler() { } public override string WorkingProcedure { get { return _dataCaptureConfig.WorkingProcedure; } } public override string DataCapturePointCode { get { return _dataCaptureConfig.DataCapturePointCode; } } public override string DataCapturePointCname { get { return _dataCaptureConfig.DataCapturePointCname; } } public override void RefreshDataList(List dataCaptureConfig) { } public override void DataCaptureStart() { while (true) { try { //Thread.Sleep(8 * 60 * 60 * 1000);//每天8小时一次 Thread.Sleep(20 * 60 * 1000);//20分钟执行一次 //每天凌晨1、3、5、6执行一次 var hour = DateTime.Now.Hour; if (!(hour == 1 || hour == 3 || hour == 5 || hour == 6)) { continue; } try { LogTextHelper.BatchDeleteLog(); Log4NetHelper.WriteInfoLog(logType, $"定时删除日志数据成功:"); } catch (Exception ex) { Log4NetHelper.WriteErrorLog(logType, $"定时删除日志数据异常:", ex); } try { ClearDataHandler.Delete_WorkPieceInfoLog(7); ClearDataHandler.Delete_WorkPieceLog(7); ClearDataHandler.Delete_AccessInterfaceLogForRequest(7); ClearDataHandler.Delete_QualityDataInfoLog(7); ClearDataHandler.Delete_sys_log_op(7); ClearDataHandler.Delete_sys_log_ex(7); ClearDataHandler.Delete_EquipmentWorkingLog(7); Log4NetHelper.WriteInfoLog(logType, $"定时删除表数据成功:"); } catch (Exception ex) { Log4NetHelper.WriteErrorLog(logType, $"定时删除表数据成功:", ex); } } catch (Exception ex) { Log4NetHelper.WriteErrorLog(logType, $"定时删除数据异常:", ex); } finally { } } } } }