• .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"));
    

      

    现在即可启动程序。

    相濡以沫,不如相忘于江湖
  • 相关阅读:
    vue学习(五) 访问vue内部元素或者方法
    vue学习(四) v-on:事件绑定
    vue学习(三) v-bind指令
    vue学习(二) 三个指令v-cloak v-text v-html
    vue学习(一)初步了解 vue实例
    Restful 接口开发 完整版
    解决exlipse下 springboot 错误:找不到或无法加载主类
    一张图看懂 SQL 的各种 join 用法
    Rest分页接口开发
    浅谈rest風格的接口开发
  • 原文地址:https://www.cnblogs.com/CLR010/p/14814742.html
Copyright © 2020-2023  润新知