Zeayii.Luma.Engine 0.0.24

dotnet add package Zeayii.Luma.Engine --version 0.0.24
                    
NuGet\Install-Package Zeayii.Luma.Engine -Version 0.0.24
                    
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="Zeayii.Luma.Engine" Version="0.0.24" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Zeayii.Luma.Engine" Version="0.0.24" />
                    
Directory.Packages.props
<PackageReference Include="Zeayii.Luma.Engine" />
                    
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 Zeayii.Luma.Engine --version 0.0.24
                    
#r "nuget: Zeayii.Luma.Engine, 0.0.24"
                    
#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 Zeayii.Luma.Engine@0.0.24
                    
#: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=Zeayii.Luma.Engine&version=0.0.24
                    
Install as a Cake Addin
#tool nuget:?package=Zeayii.Luma.Engine&version=0.0.24
                    
Install as a Cake Tool

Zeayii.Luma.Engine

简体中文 | English

Engine 模块负责 Node 生命周期驱动与运行时治理。

职责

  1. 调度节点产出的请求。
  2. 下载请求并分发响应到节点。
  3. 执行节点生命周期(BuildRequests / Handle / Download hooks / Persist hooks)。
  4. 批量持久化数据项并回调节点。
  5. 基于网络会话租约维护 Cookie 语义(HttpClient + CookieContainer 同会话),并支持节点默认路由。
  6. 发布运行快照与停止收敛。

运行流程

sequenceDiagram
    participant Host as Private Host
    participant Engine as LumaEngine
    participant Spider as ISpider<TState>
    participant Node as LumaNode<TState>
    participant Net as INetClient
    participant Sink as IItemSink

    Host->>Engine: RunAsync(spider)
    Engine->>Spider: CreateStateAsync
    Engine->>Spider: CreateRootAsync(state)
    Spider-->>Engine: RootNode
    Engine->>Node: BuildRequestsAsync
    Engine->>Net: SendAsync
    Net-->>Engine: HttpResponseMessage
    Engine->>Node: HandleResponseAsync
    Engine->>Node: ShouldDownloadAsync / BuildDownloadRequestsAsync / HandleDownloadResponseAsync
    Engine->>Node: ShouldPersistAsync
    Engine->>Sink: StoreBatchAsync
    Sink-->>Engine: PersistResults
    Engine->>Node: OnPersistedAsync

调度语义

  1. 节点通过 NodeExecutionProfile.StageOptions 声明阶段键、阶段容量、阶段并发和背压模式。
  2. 引擎按阶段执行请求/下载排队与并发控制,不写入 provider 专属阶段名称语义。
  3. 引擎统一执行类型级并发、阶段最小请求间隔和风控重试策略。

外部项目接入建议

  1. provider 不要实现自己的调度器。
  2. provider 不要在节点中直接写数据库。
  3. provider 应把业务逻辑收敛在节点生命周期函数中。
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

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
0.0.24 134 5/4/2026
0.0.23 103 5/2/2026
0.0.22 107 5/2/2026
0.0.21 108 5/1/2026
0.0.20 107 5/1/2026
0.0.19 109 4/8/2026
0.0.18 106 4/8/2026
0.0.17 117 4/3/2026
0.0.16 128 3/27/2026
0.0.15 124 3/22/2026
0.0.14 105 3/22/2026
0.0.13 106 3/22/2026
0.0.12 100 3/22/2026
0.0.11 101 3/22/2026
0.0.10 157 3/21/2026
0.0.9 107 3/20/2026
0.0.8 141 3/18/2026
0.0.7 117 3/16/2026
0.0.6 113 3/8/2026
0.0.5 110 3/8/2026
Loading failed