From d6a53faf12225ade34b1d6e33e475ffce0cfa53c Mon Sep 17 00:00:00 2001 From: bicijinlian Date: Tue, 19 May 2020 18:39:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TopshelfStudy.NetCoreDemo/Program.cs | 5 ++- .../QuartzNet/CustomSchedulerListener.cs | 36 ++++++++++--------- .../QuartzNet/CustomTriggerListener.cs | 10 +++--- .../QuartzNet/JobDemo.cs | 11 +++--- 4 files changed, 35 insertions(+), 27 deletions(-) diff --git a/TopshelfStudy.NetCoreDemo/Program.cs b/TopshelfStudy.NetCoreDemo/Program.cs index 9606b1b..925ca31 100644 --- a/TopshelfStudy.NetCoreDemo/Program.cs +++ b/TopshelfStudy.NetCoreDemo/Program.cs @@ -2,12 +2,13 @@ using Topshelf; using System.Security.Cryptography.X509Certificates; +using System.Threading.Tasks; namespace TopshelfStudy.NetCoreDemo { class Program { - static void Main(string[] args) + static async Task Main(string[] args) { var topshelfExitCode = HostFactory.Run(config => { @@ -37,6 +38,8 @@ namespace TopshelfStudy.NetCoreDemo //退出码 Environment.ExitCode = (int)Convert.ChangeType(topshelfExitCode, topshelfExitCode.GetTypeCode()); + + await Task.CompletedTask; } } } diff --git a/TopshelfStudy.NetCoreDemo/QuartzNet/CustomSchedulerListener.cs b/TopshelfStudy.NetCoreDemo/QuartzNet/CustomSchedulerListener.cs index ae8520f..8f95a3d 100644 --- a/TopshelfStudy.NetCoreDemo/QuartzNet/CustomSchedulerListener.cs +++ b/TopshelfStudy.NetCoreDemo/QuartzNet/CustomSchedulerListener.cs @@ -20,6 +20,8 @@ namespace TopshelfStudy.NetCoreDemo { private IScheduler _scheduler; + public readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); + public CustomSchedulerListener(IScheduler scheduler) { _scheduler = scheduler; @@ -27,7 +29,7 @@ namespace TopshelfStudy.NetCoreDemo public Task JobAdded(IJobDetail jobDetail, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{jobDetail.Key} 作业:被添加,成功启用"); + logger.Info($"{jobDetail.Key} 作业:被添加,成功启用"); return Task.CompletedTask; } @@ -39,11 +41,11 @@ namespace TopshelfStudy.NetCoreDemo { if (_scheduler.CheckExists(jobKey).Result) { - Console.WriteLine($"{jobKey} 作业:即将删除"); + logger.Info($"{jobKey} 作业:即将删除"); } else { - Console.WriteLine($"{jobKey} 作业:完成删除"); + logger.Info($"{jobKey} 作业:完成删除"); } return Task.CompletedTask; @@ -54,7 +56,7 @@ namespace TopshelfStudy.NetCoreDemo /// public Task JobInterrupted(JobKey jobKey, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{jobKey} 作业:被中断"); + logger.Info($"{jobKey} 作业:被中断"); return Task.CompletedTask; } @@ -64,7 +66,7 @@ namespace TopshelfStudy.NetCoreDemo /// public Task JobPaused(JobKey jobKey, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{jobKey} 作业:被暂停"); + logger.Info($"{jobKey} 作业:被暂停"); return Task.CompletedTask; } @@ -74,7 +76,7 @@ namespace TopshelfStudy.NetCoreDemo /// public Task JobResumed(JobKey jobKey, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{jobKey} 作业:被继续"); + logger.Info($"{jobKey} 作业:被继续"); return Task.CompletedTask; } @@ -84,7 +86,7 @@ namespace TopshelfStudy.NetCoreDemo /// public Task JobScheduled(ITrigger trigger, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{trigger.Key} 触发器:添加到 调度器"); + logger.Info($"{trigger.Key} 触发器:添加到 调度器"); return Task.CompletedTask; } @@ -100,8 +102,8 @@ namespace TopshelfStudy.NetCoreDemo { var jobKeys = _scheduler.GetJobKeys(GroupMatcher.GroupEquals(jobGroup)).Result; foreach (var jobKey in jobKeys) - { - + { + } Console.WriteLine($"{jobGroup} 作业组:被暂停"); @@ -111,7 +113,7 @@ namespace TopshelfStudy.NetCoreDemo public Task JobsResumed(string jobGroup, CancellationToken cancellationToken = default(CancellationToken)) { var jobKeys = _scheduler.GetJobKeys(GroupMatcher.GroupEquals(jobGroup)).Result; - Console.WriteLine($"{jobGroup} 作业组:被继续"); + logger.Info($"{jobGroup} 作业组:被继续"); return Task.CompletedTask; } @@ -120,13 +122,13 @@ namespace TopshelfStudy.NetCoreDemo /// public Task JobUnscheduled(TriggerKey triggerKey, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{triggerKey.Name} 触发器:Unscheduled"); + logger.Info($"{triggerKey.Name} 触发器:Unscheduled"); return Task.CompletedTask; } public Task SchedulerError(string msg, SchedulerException cause, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"Scheduler出现错误:{msg}"); + logger.Info($"Scheduler出现错误:{msg}"); return Task.CompletedTask; } @@ -162,31 +164,31 @@ namespace TopshelfStudy.NetCoreDemo public Task TriggerFinalized(ITrigger trigger, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{trigger.Key.Name}:TriggerFinalized"); + logger.Info($"{trigger.Key.Name}:TriggerFinalized"); return Task.CompletedTask; } public Task TriggerPaused(TriggerKey triggerKey, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{triggerKey.Name}:TriggerPaused"); + logger.Info($"{triggerKey.Name}:TriggerPaused"); return Task.CompletedTask; } public Task TriggerResumed(TriggerKey triggerKey, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{triggerKey.Name}:TriggerResumed"); + logger.Info($"{triggerKey.Name}:TriggerResumed"); return Task.CompletedTask; } public Task TriggersPaused(string triggerGroup, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{triggerGroup}:TriggersPaused"); + logger.Info($"{triggerGroup}:TriggersPaused"); return Task.CompletedTask; } public Task TriggersResumed(string triggerGroup, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine($"{triggerGroup}:TriggersResumed"); + logger.Info($"{triggerGroup}:TriggersResumed"); return Task.CompletedTask; } } diff --git a/TopshelfStudy.NetCoreDemo/QuartzNet/CustomTriggerListener.cs b/TopshelfStudy.NetCoreDemo/QuartzNet/CustomTriggerListener.cs index 78087c6..00164a2 100644 --- a/TopshelfStudy.NetCoreDemo/QuartzNet/CustomTriggerListener.cs +++ b/TopshelfStudy.NetCoreDemo/QuartzNet/CustomTriggerListener.cs @@ -16,6 +16,8 @@ namespace TopshelfStudy.NetCoreDemo /// public class CustomTriggerListener : ITriggerListener { + public readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); + public string Name { get; } = nameof(CustomTriggerListener); public CustomTriggerListener() @@ -29,7 +31,7 @@ namespace TopshelfStudy.NetCoreDemo /// public Task TriggerComplete(ITrigger trigger, IJobExecutionContext context, SchedulerInstruction triggerInstructionCode, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine("触发器执行后"); + logger.Info("触发器执行后"); return Task.CompletedTask; } @@ -40,7 +42,7 @@ namespace TopshelfStudy.NetCoreDemo /// public Task TriggerFired(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine("触发器执行前"); + logger.Info("触发器执行前"); return Task.CompletedTask; } @@ -52,7 +54,7 @@ namespace TopshelfStudy.NetCoreDemo /// public Task TriggerMisfired(ITrigger trigger, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine("错过触发时间,本次任务丢失."); + logger.Info("错过触发时间,本次任务丢失."); return Task.CompletedTask; } @@ -65,7 +67,7 @@ namespace TopshelfStudy.NetCoreDemo /// public Task VetoJobExecution(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken = default(CancellationToken)) { - Console.WriteLine("触发器审核通过,继续执行."); + logger.Info("触发器审核通过,继续执行."); return Task.FromResult(false); } } diff --git a/TopshelfStudy.NetCoreDemo/QuartzNet/JobDemo.cs b/TopshelfStudy.NetCoreDemo/QuartzNet/JobDemo.cs index 9a4c51a..5c6ad66 100644 --- a/TopshelfStudy.NetCoreDemo/QuartzNet/JobDemo.cs +++ b/TopshelfStudy.NetCoreDemo/QuartzNet/JobDemo.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using Quartz; @@ -10,14 +11,14 @@ namespace TopshelfStudy.NetCoreDemo { public class JobDemo : IJob { + NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger(); + public async Task Execute(IJobExecutionContext context) { //模拟业务操作 - string jobName = "测试作业"; - Console.WriteLine($"{jobName} 开始执行"); - Console.WriteLine($"{jobName} 执行中..."); - await Task.Delay(0*1000); - Console.WriteLine($"{jobName} 执行完毕."); + Logger.Info($"执行作业:测试作业"); + + await Task.Delay(0); } } }