程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Quartz.NET simple_demo,quartz.net

Quartz.NET simple_demo,quartz.net

編輯:C#入門知識

Quartz.NET simple_demo,quartz.net


Quartz.NET是一個開源的作業調度框架,非常適合在平時的工作中,定時輪詢數據庫同步,定時郵件通知,定時處理數據等。 Quartz.NET允許開發人員根據時間間隔(或天)來調度作業。它實現了作業和觸發器的多對多關系,還能把多個作業與不同的觸發器關聯。整合了 Quartz.NET的應用程序可以重用來自不同事件的作業,還可以為一個事件組合多個作業。

使用時需要引用:Quartz.dll

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace demo1_querz.net
{
    class Program
    {
        static void Main(string[] args)
        {
            new SimpleExample1().Run();
            Console.Read();
        }
    }
}

 

配置簡單定時任務

using Quartz;
using Quartz.Impl;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace demo1_querz.net
{
    class SimpleExample1:IExample
    {
        public string Name
        {
            get { return "Simple Task One"; }
        }

        public virtual void Run()
        {

            // First we must get a reference to a scheduler
            ISchedulerFactory sf = new StdSchedulerFactory();
            IScheduler sched = sf.GetScheduler();
            // job 1 will run every 20 seconds
            IJobDetail job = JobBuilder.Create<SimpleJobOne>()
                .WithIdentity("job1", "group1")
                .Build();

            ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
                                                      .WithIdentity("trigger1", "group1")
                                                      .WithCronSchedule("10 0/1 * * * ? ")
                                                      .Build();
            DateTimeOffset ft = sched.ScheduleJob(job, trigger);
            sched.Start();

        }
    }
}

 

using Quartz;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace demo1_querz.net
{
    public class SimpleJobOne:IJob
    {
//需要繼承IJob public virtual void Execute(IJobExecutionContext context) { JobKey jobkey = context.JobDetail.Key; new SendMsg().FuRun(); } } }

 

需要執行的方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace demo1_querz.net
{
   public class SendMsg
    {
       public void FuRun() 
       {
           Console.WriteLine("Prefrom Simple Task One time as "+DateTime.Now.ToString());
       }
    }
}

 

運行結果為:每分鐘執行一次 Simple Task One

 

 

參考

 

官方學習文檔:http://www.quartz-scheduler.net/documentation/index.html

使用實例介紹:http://www.quartz-scheduler.net/documentation/quartz-2.x/quick-start.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved