using HH.WMS.Common; using HH.WMS.Common.External; using HH.WMS.TaskService.Helper; using HH.WMS.TaskService.Jobs; using System; using System.ServiceProcess; namespace HH.WMS.TaskService { public partial class TaskService : ServiceBase { private static int timeSpan = JsonFileHelper.GetValue("timeSpan") == "" ? 60 : Convert.ToInt32(JsonFileHelper.GetValue("timeSpan"));//1 * 30; //秒 public TaskService() { InitializeComponent(); } protected override void OnStart(string[] args) { Log.Detail("TaskService", "启动服务,轮训间隔时间:" + timeSpan + "秒!"); var result = InitConfig.GetWebConfig(); Log.Detail("TaskService", "获取配置结果:" + result); Timer(); } protected override void OnStop() { Log.Detail("TaskService", "停止服务!"); } private static void Timer() { System.Timers.Timer timersTimer = new System.Timers.Timer(timeSpan * 1000); //设置时间间隔 timersTimer.Elapsed += new System.Timers.ElapsedEventHandler(Run); timersTimer.AutoReset = true; //每到指定时间Elapsed事件是触发一次(false),还是一直触发(true) timersTimer.Enabled = true; timersTimer.Start(); } private static void Run(object sender, System.Timers.ElapsedEventArgs e) { var logPara = LogType.LogPara("TaskService_Run"); try { if (JsonFileHelper.GetValue(JsonFileHelper.MoveStockJob, logPara).Equals("Y")) new MoveStockJob().Run(); //if (JsonFileHelper.GetValue(JsonFileHelper.NtErpPoundJob, logPara).Equals("Y")) // new NtErpPoundJob().Run(logPara); if (JsonFileHelper.GetValue(JsonFileHelper.JxSyncDataJob, logPara).Equals("Y")) new JxSyncDataJob().Run(); } catch (Exception ex) { Log.Detail(logPara, "服务执行异常!" + ex.Message); } } } }