分享一個優(yōu)秀的作業(yè)調(diào)度框架設計源碼,非常適合在平時的工作中,定時輪詢數(shù)據(jù)庫同步,定時郵件通知,定時處理數(shù)據(jù)等,它允許開發(fā)人員根據(jù)時間間隔(或天)來調(diào)度作業(yè)。
using Quartz;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JobSchedule
{
? ? public abstract class JobService<T> where T : IJob
? ? {
? ? ? ? protected abstract string JobName { get; }
? ? ? ? protected abstract string GroupName { get; }
? ? ? ? private IJobDetail GetJobDetail()
? ? ? ? {
? ? ? ? ? ? var job = JobBuilder.Create<T>()
? ? ? ? ? ? ? ? .WithIdentity(JobName, GroupName)
? ? ? ? ? ? ? ? .Build();
? ? ? ? ? ? return job;
? ? ? ? }
? ? ? ? protected abstract ITrigger GetTrigger();
? ? ? ? public void AddJobToSchedule(IScheduler scheduler)
? ? ? ? {
? ? ? ? ? ? scheduler.ScheduleJob(GetJobDetail(), GetTrigger());
? ? ? ? }
? ? }
}
它還可以引入Web監(jiān)控界面:
源碼下載:http://letyouknow.net/code/jobschdule.zip