首頁  >  文章  >  後端開發  >  .net下如何使用Quartz.Net的程式碼圖文教學

.net下如何使用Quartz.Net的程式碼圖文教學

黄舟
黄舟原創
2017-07-20 16:22:332986瀏覽

這篇文章主要為大家詳細介紹了.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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn