Aicrosoft.Scheduling
6.1.7
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
<PackageReference Include="Aicrosoft.Scheduling" Version="6.1.7" />
paket add Aicrosoft.Scheduling --version 6.1.7
#r "nuget: Aicrosoft.Scheduling, 6.1.7"
// 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 图及设计说明
- Job仅仅是描述工作的内容与用到的Woker;
- Woker是具体运行Job里描述的工作的实例。
- Job由具体的JobProvider创建,然后能过JobFactory汇总出所有的可用Jobs;
- Woker由WokerPoolProvider提供,然后由WokerPoolFactory汇总所有可用的Woker。
工作类型
- 由其它Worker唤醒的工作 Default
- 由系统启动的持续性工作 System = 1
- 由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创建与依赖的关系说明
- Instances are mostly created through DI through their interfaces.
- The interface instantiated by DI does not draw the relationship
- WorkShop 消费 Worker, WorkerPoolFactory 创建Woker。
Note List
- 下次触发时间均以Utc时间为准[任意时间通过扩展方法 GetNextRun 取得的下次运行时间返回的是Utc时间]。
1.6.2.x
- 新一代任务调试框架
Product | Versions 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. |
-
net6.0
- Aicrosoft.Extensions (>= 6.1.7)
- Aicrosoft.Extensions.AspectCore (>= 6.1.7)
- Aicrosoft.Extensions.Hosting (>= 6.1.7)
- Cronos (>= 0.7.1)
- System.Diagnostics.PerformanceCounter (>= 6.0.0)
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.
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