Aicrosoft.Scheduling 6.1.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package Aicrosoft.Scheduling --version 6.1.7                
NuGet\Install-Package Aicrosoft.Scheduling -Version 6.1.7                
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="Aicrosoft.Scheduling" Version="6.1.7" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aicrosoft.Scheduling --version 6.1.7                
#r "nuget: Aicrosoft.Scheduling, 6.1.7"                
#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 Aicrosoft.Scheduling as a Cake Addin
#addin nuget:?package=Aicrosoft.Scheduling&version=6.1.7

// Install Aicrosoft.Scheduling as a Cake Tool
#tool nuget:?package=Aicrosoft.Scheduling&version=6.1.7                

Aicrosoft.Scheduling

简单的任务调度框架

Keywords: task,job,routine,schedule

关于UML 图及设计说明

  1. Job仅仅是描述工作的内容与用到的Woker;
  2. Woker是具体运行Job里描述的工作的实例。
  3. Job由具体的JobProvider创建,然后能过JobFactory汇总出所有的可用Jobs;
  4. Woker由WokerPoolProvider提供,然后由WokerPoolFactory汇总所有可用的Woker。

工作类型

  1. 由其它Worker唤醒的工作 Default
  2. 由系统启动的持续性工作 System = 1
  3. 由Supervisor启动的定时工作 Interval或者CronExpression。

Job的触发器

根据传入的Triger类型来生成触发器

  • Default 通过其它的Woker来触发的Job
  • Startup 大于0的延迟启动毫秒数,Int类型的数字
  • Interval 间隔运行的Job,Timespan类型
  • Schedulable 定时触发的Job,CronExpresssion表达式

关于Woker的核心设计理念

  • 根据Job的JobTrigger的Style可知,除了Default外,所有的Job都要在适当的时间运行。
  • 所以,所有非Default类型的Job的Worker都要继承TimerWorker来运行。
  • Default类型的Job才可以直接继承Worker来运行。

关于UML上Class创建与依赖的关系说明

  1. Instances are mostly created through DI through their interfaces.
  2. The interface instantiated by DI does not draw the relationship
  3. WorkShop 消费 Worker, WorkerPoolFactory 创建Woker。

Note List

  • 下次触发时间均以Utc时间为准[任意时间通过扩展方法 GetNextRun 取得的下次运行时间返回的是Utc时间]。

1.6.2.x

  • 新一代任务调试框架
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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 (1)

Showing the top 1 NuGet packages that depend on Aicrosoft.Scheduling:

Package Downloads
SuperJobs.Core

Extensions of Aicrosoft Ltd.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.5.0 85 10/12/2024
8.3.0 91 9/10/2024
8.2.0 97 8/7/2024
6.4.0 339 11/20/2023
6.3.2 143 11/1/2023
6.2.1 152 8/25/2023
6.1.7 168 7/25/2023
6.1.6 148 5/17/2023
6.1.5 235 3/13/2023
6.1.4 242 3/11/2023
6.1.3 260 2/21/2023

Ver:6.1.6  2023-03-16 Release Notes:
- Fix some waring in code.
- Add extension method IfNotNullOrEmptyThen to run Action when a string value is not empty
- LogHelper.SetConfigurationVariable replaces old SetNLogConfigVariable (flag not available)
- Increase the execution of If conditions, mark other If methods as expired and be removed
- Added the generation of ReleaseNote