zoukankan      html  css  js  c++  java
  • .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"));
    

      

    现在即可启动程序。

    相濡以沫,不如相忘于江湖
  • 相关阅读:
    shell查看内存
    shell 终端字符颜色
    PHP获取一年有几周以及每周开始日期和结束日期
    PHP 计算当前时间是这一年的第几周
    laravel orWhere
    进程与线程的一个简单解释
    go cap和len的区别
    go 总结常用函数
    go append 函数常见操作
    php 字符串常用函数
  • 原文地址:https://www.cnblogs.com/CLR010/p/14814742.html
Copyright © 2011-2022 走看看