發表文章

目前顯示的是有「Worker Service」標籤的文章

[.Net Core][Windows Service][02]Worker Service搭配Coravel 設定排程

圖片
Worker Service基本的範例功能太過陽春,可搭配Coravel 套件強化工作排程的設定 Coravel提供非常豐富的排程時間設定,以下介紹基本的使用方式 1.安裝 Coravel 套件 2.Program.cs加入引用 Coravel 3.加入排程項目Worker2、Worker4 4.設定排程執行時間 基本排程時間設定說明: Method Description EverySecond() 每秒執行 EveryFiveSeconds() 每5秒執行 EveryTenSeconds() 每10秒執行 EveryFifteenSeconds() 每1 5 秒執行 EveryThirtySeconds() 每30秒執行 EverySeconds(3) 每 n 秒執行 EveryMinute() 每1分鐘執行 EveryFiveMinutes() 每5分鐘執行 EveryTenMinutes() 每10分鐘執行 EveryFifteenMinutes() 每15分鐘執行 EveryThirtyMinutes() 每3 0 分鐘執行 Hourly() 每小時執行 HourlyAt(12) 每小時12分執行 Daily() 每1天執行 DailyAtHour(13) 每一天下午1:00執行 DailyAt(13, 30) 每一天下午1:30執行 Weekly() 每週執行 多條件式時間設定: 1.每週一、三、五半夜1點執行 scheduler.Schedule<TodoJob>()     .DailyAtHour(1)     .Monday()     .Wednesday()     .Friday(); 2.週未每5分鐘執行 scheduler.Schedule<ReportJob>() ...

[.Net Core][Windows Service][01]Worker Service (背景工作服務) 基本建立與安裝

圖片
一般來說 Worker Service 會被用來執行需要長時間處理或定期需要做的事情 .NET Core 3.0 提供了 Worker Service,用來建立系統服務的基本專案。 目前資源太少,網路上大都只提供最簡單的範例,還沒有找到可以靈活操作各個排程的方法。 在.Net Core的環境下不論是Worker Service或Console Application都是基本的應用程式,一樣都是透過套件就能轉換為Windows服務。 以下先介紹Worker Service基本的範例及Windows Service建置 [建立Worker Service專案] 建立好的專案一開始就附有基本的範例 (每秒執行並印出時間) [轉換為 Windows Service] 1..加入 Microsoft.Extensions.Hosting.WindowsServices 套件 2.於Program.cs 的CreateHostBuilder加入 UseWindowsService 2.完成的Worker Service需手動安裝至Windows 服務 於命令提示字元輸入指令 安裝:sc create WindowsServiceName binPath=執行檔位置 啟動:sc start WindowsServiceName 停止:sc stop WindowsServiceName 移除:sc delete WindowsServiceName [轉換為 Linux Daemon Service] 1. 於專案新增 Microsoft.Extensions.Hosting.Systemd 套件 2.在 Program 類別 CreateHostBuilder 處加上 UseSystemd()