ToolNET.Quartz 5.1.0

dotnet add package ToolNET.Quartz --version 5.1.0                
NuGet\Install-Package ToolNET.Quartz -Version 5.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ToolNET.Quartz" Version="5.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ToolNET.Quartz --version 5.1.0                
#r "nuget: ToolNET.Quartz, 5.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ToolNET.Quartz as a Cake Addin
#addin nuget:?package=ToolNET.Quartz&version=5.1.0

// Install ToolNET.Quartz as a Cake Tool
#tool nuget:?package=ToolNET.Quartz&version=5.1.0                

1.配置文件格式:

{
  "QuartzJobOptions": {
    "InstanceName": "",             //实例名称
    "ThreadCount": 5,               //线程数量
    "GroupName": "",                //默认的分组名称
    "AutoStart": false,             //自动运行  注册服务时自动注册定时器
    "Jobs": [
      {
        "Group": "分组名称",
        "Name": "作业名称",
        "Cron": "0 0/2 * * * ?"    //作业定时表达式
      }
    ]
  }
}

2.默认配置

配置中心或本地配置文件,必须按以上配置格式进行

3.服务注入

services.AddQuartzJob(); //单例注入

4.服务使用

IScheduler 作业调度器实例

JobService 作业服务

5. job基类

工具类名 说明
AbstractJob 定时作业基类
AbstractDaemonJob 死循环作业基类

6.demo说明

/// <summary>
    /// 定时job1
    /// </summary>
    public class TestJob1 : AbstractJob
    {
        /// <summary>
        /// 任务名称
        /// </summary>
        public override string JobName => "定时job1";

        /// <summary>
        /// 业务处理方法
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override Task ExecuteJob(IJobExecutionContext context)
        {
            Console.WriteLine($"{JobName}  {Cron} {DateTime.Now}");

            return Task.CompletedTask;
        }

        /// <summary>
        /// 定时表达式
        /// </summary>
        public override string Cron => "0 0/2 * * * ?";
    }

死循环job

 public class DeadCycJob1 : AbstractDaemonJob
    {
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public override Task ExecuteJob()
        {
            Console.WriteLine($"死循环job {MillisecondsDelay} {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}");

            return Task.CompletedTask;
        }

        /// <summary>
        /// 
        /// </summary>
        public override int MillisecondsDelay => 200;
    }
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
5.1.0 314 12/9/2022
5.0.6 385 9/21/2022
5.0.3 428 6/15/2022
5.0.2 429 3/8/2022
5.0.1 436 3/8/2022
5.0.0 447 2/23/2022