分享一個(gè)優(yōu)秀的作業(yè)調(diào)度框架設(shè)計(jì)源碼,非常適合在平時(shí)的工作中,定時(shí)輪詢(xún)數(shù)據(jù)庫(kù)同步,定時(shí)郵件通知,定時(shí)處理數(shù)據(jù)等,它允許開(kāi)發(fā)人員根據(jù)時(shí)間間隔(或天)來(lái)調(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