.Net core Worker Service 擴展庫


.Net core Worker Service 擴展庫,目的為更易控制每一個worker 的運行。

提供根據配置文件對每一個Worker的停止、啟動和自動解析注冊Worker。

獲取配置的方式不限於 使用配置文件,也可以使用數據庫,也可以使用 [WeTools.SqlSugarDBConfigProvider](NuGet Gallery | WeTools.SqlSugarDBConfigProvider 1.0.0) nuget包,讀取數據庫配置。

未來計划 增加一個輕量級的服務配置中心,更方便的管理服務。

獲取地址:NuGet Gallery | WeTools.WorkerService 1.0.1  

Install-Package WeTools.WorkerService -Version 1.0.1

方式1,worker 類型通過配置文件解析

  1. 在配置文件添加節點
"WeTools": {
    "Dir": "/", //worker 所在文件夾, 根目錄為 / ;
    "Workers": [
      {
        "Name": "Worker2",
        "WorkerName": "Worker2",//具體的實現類名
        "Enable": true //此節點控制worker 的運行
      },
      {
        "Name": "Worker",
        "WorkerName": "Worker",
        "Enable": true
      }

    ]
  }

  

  1. 新建worker,並繼承WeToolBackgroundService。

  2. 在Program類 ConfigureServices 里注冊服務

services.AddServiceOptions(hostContext);
services.UseWorkers();

  

方式2 worker 通過特性解析

  1. 在配置文件添加節點
"WeTools": {
    "Worker": {
      "name":"testworker",//可選,默認為特性輸入的名稱
      "workername":"",//可選,默認為特性解析的worker類名
      "Enable": true
    },
    "Worker2":{
     "Enable": true
    }
  }

  

或者 自定義配置節點 
"myconfig": 
{ 
    "DemoWorker": 
    { 
        "name": "adf123", 
        "Enable": true 
    } 
}            

  


或者 根節點下直接添加
"DemoWorker": 
{ 
    "Enable": true 
}, 
"DemoWorker2": 
{ 
    "Enable": true 
}, 

  

 
  1. 新建worker,繼承WeToolBackgroundService 並在worker類添加特性

    	[Worker("DemoWorker")]
        public class TestWorker : WeToolBackgroundService
        {
        }
    

      

3.在Program類 ConfigureServices 里注冊服務

參數對應 1 中的配置 選擇不同的方法。

這里不需要調用 AddServiceOptions 方法。

services.UseWorker(hostContext.Configuration);
services.UseWorker(hostContext);
services.UseWorker(hostContext.Configuration.GetSection("myconfig"));

  

現在即可啟動程序。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM