分享一個(gè)優(yōu)秀的作業(yè)調(diào)度框架設(shè)計(jì)源碼

分享一個(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容