使使 Quartz.NET Gelis Wu
使用 Quartz.NETGelis Wu
Agenda 什麼是 Quartz.NET ? 如何使用 Quartz.NET 部署與測試 Quartz.NET
什麼是 Quartz.NET ?
什麼是 Quartz.NET ? 它是從 Java 的 Quartz 類別庫移植到 .NET 平台 開放原始碼,採用 Apache 2.0 授權條款 彈性的工作排程系統,同時兼顧了簡單和複雜的排程需求 支援使用在叢集 (cluster) 的環境, ( 目前僅限搭配 ) AdoJobstore 使用 ) 支援 cron 表示式 ( 一種用來表達時間排程的字串樣板 )
如何使用 Quartz.NET
如何使用 Quartz.NET 加入組件參考 (NuGet 、 Github…) 撰寫我們的 Job 工作類別 設定排程 (Scheduler) 、觸發器 (Trigger)
使用 Configuration (web.config/app.config) 撰寫程式碼
選擇執行方式 (Host) ASP.NET Web Site Console Application Win32 Services
如何使用 Quartz.NET
加入組件參考 Quartz.NET 從 Github 下載 https://github.com/quartznet/quartznet
透過 NuGet 安裝
撰寫我們的 IJob 工作類別
設定排程 (Scheduler) 、觸發器(Trigger) 透過撰寫程式碼
設定排程 (Scheduler) 、觸發器(Trigger) 透過 Configuration
選擇執行方式 (Host)
選擇執行方式 (ASP.NET Web Site) 使用 ASP.NET Web Site 執行 Scheduler
注意 AppPool 須為AlawaysRunning
且若是 IIS7.5 以上還必須設定 Application Initialization Module
選擇執行方式 (Console Application) 與撰寫程式碼的方式相同,由 Main 啟動
選擇執行方式 (Win32 Services) 與撰寫程式碼的方式相同 在服務 Start 事件中啟動
參考資料Quartz.NET - Documentation http://www.quartz-scheduler.net/documentation/Stackoverflow AdojobStorehttp://stackoverflow.com/questions/1455819/configuring-adojobstore-with-quartz-netASP.NET 的背景執行工作http://huan-lin.blogspot.com/2014/03/aspnet-background-tasks-using-quartznet.html維基百科 (cron 表示式 )https://en.wikipedia.org/wiki/CronASP.NET 的背景執行工作http://huan-lin.blogspot.com/2014/03/writing-aspnet-background-tasks.htmlASP.NET 的背景執行工作 (2)http://huan-lin.blogspot.com/2014/03/writing-aspnet-background-tasks-2.htmlQuartz.NET - Quartz Enterprise Scheduler .NET http://www.quartz-scheduler.net/