.NETCore 知识点记录-QuartzCore 定时任务
2017-12-03 18:31
302 查看
1.定时任务框架:
1.Pomelo.AspNetCore.TimedJob
2.Quartzcore
第二种已经实现 基于 官网 最新 3.0Bate版本
//核心代码: 参照官网 :
官网地址: https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html
需要注意的地方:
官网在介绍 HelloJob的时候
在EF里面 await 是要 配合 async 来使用的 (写成下面这样就好)
1.Pomelo.AspNetCore.TimedJob
2.Quartzcore
第二种已经实现 基于 官网 最新 3.0Bate版本
//核心代码: 参照官网 :
官网地址: https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html
需要注意的地方:
publicclassHelloJob:IJob{publicTaskExecute(IJobExecutionContextcontext){awaitConsole.Out.WriteLineAsync("Greetings from HelloJob!");}}
官网在介绍 HelloJob的时候
在EF里面 await 是要 配合 async 来使用的 (写成下面这样就好)
publicclassHelloJob:IJob{public asyncTaskExecute(IJobExecutionContextcontext){awaitConsole.Out.WriteLineAsync("Greetings from HelloJob!");}}
namespace CCDN.XXXX { class Program { static void Main(string[] args) { //LogProvider.SetCurrentLogProvider(new ConsoleLogProvider()); RunProgram().GetAwaiter().GetResult(); } private static async Task RunProgram() { int i = 0; DateTime myStartTime = Convert.ToDateTime("2016-12-08"); try { // Grab the Scheduler instance from the Factory NameValueCollection props = new NameValueCollection { { "quartz.serializer.type", "binary" } }; StdSchedulerFactory factory = new StdSchedulerFactory(props); IScheduler scheduler = await factory.GetScheduler(); // 启动任务调度器 await scheduler.Start(); // 定义一个 Job IJobDetail job = JobBuilder.Create<ExportWXDataJob>() .WithIdentity("job1", "group1") .Build(); ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create() .WithIdentity("trigger1") // 给任务一个名字 .StartAt(myStartTime) // 设置任务开始时间 .ForJob("job1", "group1") //给任务指定一个分组 .WithSimpleSchedule(x => x .WithIntervalInSeconds(20) //循环的时间 .RepeatForever()) .Build(); // 等待执行任务 await scheduler.ScheduleJob(job, trigger); // some sleep to show what's happening //await Task.Delay(TimeSpan.FromMilliseconds(2000)); // and last shut down the scheduler when you are ready to close your program //await scheduler.Shutdown(); i++; Console.ReadLine(); Console.WriteLine(DateTime.Now.ToString()+"这是第"+i+"次执行任务"); } catch (SchedulerException se) { await Console.Error.WriteLineAsync(se.ToString()); } } } }
相关文章推荐
- DotNetCore跨平台~Quartz定时单次任务
- Asp.Net Core 使用Quartz基于界面画接口管理做定时任务
- 任务调度开源框架Quartz动态添加、修改和删除定时任务
- quartz动态添加、更新、删除定时任务
- springboot整合quartz实现定时任务
- [JAVA]定时任务之-Quartz使用篇
- quartz动态定时任务
- Spring quartz设置定时任务
- quartz任务定时任务创建
- Spring3.0与Quartz的整合实现定时任务调度
- Quartz.Net与MVC结合定时任务
- quartz定时任务框架调度机制解析
- Spring中使用quartz执行定时任务的两种方式
- QUARTZ定时任务---属性文件和JAR
- quartz定时任务时间设置
- 动态添加定时任务-quartz定时器
- 任务调度开源框架Quartz动态添加、修改和删除定时任务
- Spring+Quartz实现定时任务的配置方法
- quartz定时执行任务,并配置web.xml的操作方法
- Quartz.net 定时任务之简单任务