這篇文章主要為大家詳細介紹了.net下Quartz.Net的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
Quartz.net是作業調度框架,具體內容如下
1. 專案中新增quartz.net的參考(這裡使用nuget管理)
##新一個類別TimingJob,這個類別主要用於實作任務邏輯
#
using Quartz; using System; namespace QuartzNetDemo { /// <summary> /// 定时任务类 /// </summary> public class TimingJob : IJob { public void Execute(IJobExecutionContext context) { //将要定时执行的逻辑代码写于此处 Console.WriteLine("任务执行了"); } } }在Program.cs:(這裡是控制台應用程式)
using Quartz; using Quartz.Impl; using System; namespace QuartzNetDemo { class Program { static void Main(string[] args) { ISchedulerFactory sf = new StdSchedulerFactory(); IScheduler scheduler = sf.GetScheduler(); IJobDetail job = JobBuilder.Create<TimingJob>().WithIdentity("job1", "mygroup").Build(); ITrigger trigger = TriggerBuilder.Create().StartAt(DateTime.Now.AddSeconds(5)).WithCronSchedule("/2 * * ? * *").Build(); scheduler.ScheduleJob(job,trigger); scheduler.Start(); } } }程式運作時,經過5秒後,每間隔2秒輸出訊息
Cron表達式:
quartz.NET中的cron表達式使用形如"/5 * * ? * * *" 這樣的7位元表達式,最後一位年非必選,表達式從左到右,依此是秒、分、時、月第幾天、月、週幾、年 特殊字元與解釋:, 或的意思。
/ a/b。 a:代表起始時間,b頻率時間。
* 頻率。 即每一次波動。
- 區間。
? 任意值 。 即每一次波動。只能用在DayofMonth和DayofWeek,二者衝突。指定一個另一個一個要用?
L 表示最後。 只能用在DayofMonth和DayofWeek
W 工作日。 表示最後。 只能用在DayofWeek
#x#y。 只能用DayofMonth。 某月的第y個星期x
以上是.net下如何使用Quartz.Net的程式碼圖文教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!