XiHan.Framework.Scheduling.InMemory 5.0.0-preview.1

Prefix Reserved
This is a prerelease version of XiHan.Framework.Scheduling.InMemory.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package XiHan.Framework.Scheduling.InMemory --version 5.0.0-preview.1
                    
NuGet\Install-Package XiHan.Framework.Scheduling.InMemory -Version 5.0.0-preview.1
                    
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="XiHan.Framework.Scheduling.InMemory" Version="5.0.0-preview.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="XiHan.Framework.Scheduling.InMemory" Version="5.0.0-preview.1" />
                    
Directory.Packages.props
<PackageReference Include="XiHan.Framework.Scheduling.InMemory" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add XiHan.Framework.Scheduling.InMemory --version 5.0.0-preview.1
                    
#r "nuget: XiHan.Framework.Scheduling.InMemory, 5.0.0-preview.1"
                    
#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.
#:package XiHan.Framework.Scheduling.InMemory@5.0.0-preview.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=XiHan.Framework.Scheduling.InMemory&version=5.0.0-preview.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=XiHan.Framework.Scheduling.InMemory&version=5.0.0-preview.1&prerelease
                    
Install as a Cake Tool

XiHan.Framework.Scheduling.InMemory

内存调度(Ring 3,默认实现,role: default)。提供 scheduling.jobs@1(进程内作业存储 InMemoryJobStore + 抽象包的 JobSchedulerEngine)与 scheduling.leader@1(进程内租约)(RFC-0013)。

builder.Services.AddJob<NightlyCleanup>("cleanup.nightly", JobSchedule.FromCron("0 3 * * *"));
builder.AddXiHan(xihan => xihan.UseFeature<InMemorySchedulingFeature>());
{ "XiHan": { "Scheduling": { "PollIntervalSeconds": 1, "MaxConcurrentRuns": 32, "MisfireThresholdSeconds": 60, "HistoryRetentionDays": 7, "InMemory": { "MaxRuns": 1000 } } } }

规则

  • 作业、触发器、运行历史与节点都在内存里,读出来的是深拷贝;运行历史最多 MaxRuns 条,超出丢弃最旧的已结束记录(全部在运行中时 → SCHEDULING_UNAVAILABLE_004)。
  • 存储不跨实例共享:集群唯一的作业(RunOnEveryInstance = false)只在持有领导租约的实例上按计划运行;RunOnEveryInstance 的作业每个实例各自运行。另有显式 Provider 提供 scheduling.leader(如 Scheduling.Kubernetes)时,引擎用那个选举。
  • 引擎的语义(misfire、并发阻塞、暂停与恢复、动态登记、取消、历史)见 Scheduling.Abstractions;进程重启后运行时登记的作业与历史都丢失,需要持久化换 Scheduling.Database。
  • 停止时等待进行中的运行结束并释放租约。健康项 scheduling.inmemory.leader(InMemorySchedulingHealthContributor,同步计算):引擎在跑为 Ready(进程内租约持有与否都不影响服务),引擎停止为 Stopped;作业能力被别的 Provider 顶替、没有引擎时也是 Ready。

依赖方向

依赖 XiHan.Framework.Scheduling.Abstractions。

状态

P5:可用,通过 Scheduling.Conformance(调度器、存储、领导选举三个套件)。

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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 XiHan.Framework.Scheduling.InMemory:

Package Downloads
XiHan.Framework.Profiles.Full

曦寒框架 Full 组合包

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.0.0-preview.2 43 11/6/2026
5.0.0-preview.1 47 11/4/2026