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(4);
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
{
}
}
}
}
}