using Common.Logging; using System; using System.ServiceProcess; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Newtonsoft.Json; using iWareCommon.Utils; using log4net; using iWareSql.DataAccess; using iWareSql.Orm; namespace iWareDeleteTaskService { /// /// 任务删除服务 /// public partial class iWareDeleteTaskService : ServiceBase { private static readonly string defaultTime = ConfigHelper.GetConfigString("DefaultDeleteTaskTime"); static CancellationTokenSource cancelTokenSource = new CancellationTokenSource(); private readonly Common.Logging.ILog logger; public iWareDeleteTaskService() { InitializeComponent(); logger = Common.Logging.LogManager.GetLogger(GetType()); Task.Factory.StartNew(PastDueMaterialThread, cancelTokenSource.Token); } protected override void OnStart(string[] args) { logger.Info("任务删除服务成功启动"); } protected override void OnStop() { cancelTokenSource.Cancel(); logger.Info("任务删除服务成功终止"); } protected override void OnPause() { } protected override void OnContinue() { } private void PastDueMaterialThread() { //判断是否取消任务 while (!cancelTokenSource.IsCancellationRequested) { try { logger.Info("一次任务删除处理开始"); LogTextHelper.BatchDeleteLog();//删除文本日志 logger.Info("一次任务删除处理结束"); } catch (Exception e) { logger.Error("一次任务删除处理错误:" + e.Message, e); } //Thread.Sleep(5000);//休眠 Thread.Sleep(Convert.ToInt32(defaultTime) * 60 * 60 * 1000);//休眠一天 //*/ } } } }