NewLife.AntJob 5.1.2026.1028

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

NewLife.AntJob - Ant Scheduling

GitHub License NuGet Downloads NuGet NuGet prerelease test locales platform arch NativeAOT contributors GitHub top language

🌐 简体中文 | 繁體中文 | Español | Deutsch | 日本語 | Français | Português | Русский | 한국어 | العربية

AntJob is a distributed task and real-time data scheduling platform built purely in .NET: any large job is split into parallel time/data slices, dispatched to elastic worker nodes, retried on failure and replayed for backfill, with a web console for live monitoring.

Open source: https://github.com/NewLifeX/AntJob
Tutorial: https://newlifex.com/blood/antjob
Live demo (hosted environment): http://ant.newlifex.com

Contents: Quick Start · Main Features · Ecosystem Map · Documentation · Contributing · Team · License

Quick Start

Install

dotnet add package NewLife.AntJob
dotnet new install NewLife.Templates
# Create a project with an AntJob sample
dotnet new antjob --name TestJob
cd TestJob
dotnet run

Minimal example

The following source code is located in Samples/HisAgent. Create a .NET Core 3.1+ project and reference AntJob from NuGet. Instantiate a Scheduler and configure a network provider.

using AntJob;
using HisAgent;
using NewLife.Log;
using NewLife.Model;
using Stardust;

// Enable console logging and intercept all exceptions
XTrace.UseConsole();

var services = ObjectContainer.Current;
services.AddStardust();

services.AddAntJob()
    .AddHandler<HelloJob>();

// Friendly shutdown
var host = services.BuildHost();
await host.RunAsync();

Add the first scheduled job handler:

using System;
using AntJob;

internal class HelloJob : Handler
{
    public HelloJob() => Job.Cron = "7/30 * * * * ?";

    public override Int32 Execute(JobContext ctx)
    {
        // Time of the current task
        var time = ctx.Task.DataTime;
        WriteLog("NewLife AntJob! Current task time: {0}", time);
        return 1; // Number of successfully processed items
    }
}

Job handlers must inherit Handler and override Execute to implement business logic. The Time and Step set in the constructor are only used for the first registration; later changes are made in the console.

Or use an asynchronous scheduled job handler:

using System;
using AntJob;

internal class HelloJob : Handler
{
    public HelloJob() => Job.Cron = "7/30 * * * * ?";

    public override async Task<Int32> ExecuteAsync(JobContext ctx)
    {
        using var span = Tracer?.NewSpan("HelloJob", ctx.Task.DataTime);

        // Time of the current task
        var time = ctx.Task.DataTime;
        WriteLog("NewLife AntJob! Current task time: {0}", time);
        if (!ctx.Task.Data.IsNullOrEmpty()) WriteLog("Data: {0}", ctx.Task.Data);

        var state = Rand.NextString(16);
        var http = new HttpClient { BaseAddress = new Uri("https://newlifex.com") };
        http.SetUserAgent();
        var rs = await http.GetAsync<IDictionary<String, Object>>("/cube/info", new { state });

        if (rs.TryGetValue("state", out var value) && value is String str)
        {
            Trace.Assert(state == str, "Returned state does not match");
        }

        // Number of successfully processed items
        return 1;
    }
}

Run it

On the first run it automatically tries to connect to tcp://127.0.0.1:9999 and tcp://ant.newlifex.com:9999 (active/standby), based on the AntSetting configuration. If Server is configured with an http(s):// address, it automatically switches to the HTTP channel and receives downstream notifications over WebSocket.

Log example:

21:33:08.470  1 N - Start job scheduling engine [AntJob.Providers.NetworkJobProvider], jobs [1], timer 5s
21:33:08.471  1 N - HelloJob start work False range (2020-04-09 00:00:00, 0001-01-01 00:00:00) Offset=15 Step=10 MaxTask=8

Web console and reset

Deploy AntJob.Web (IIS / Kestrel / Docker) and then change the client's Server setting to point at its service address. No separate AntServer is required:

{
  "Ant": {
    "Server": "https://ant.example.com",
    "AppId": "MyJobApp",
    "Secret": ""
  }
}

After the client logs in, it establishes a long-lived /AntJob/Notify WebSocket connection through HTTP heartbeats to receive job-change and message-arrival notifications; when WebSocket is unavailable, it still works on the polling interval. Once a job is enabled in the console, the scheduling center slices tasks by time point and dispatches them: you can view task details, retry errors and batch-reset tasks to recompute history. Run several Agents to scale out — any given task is executed by exactly one node, and failures are retried according to policy.

Local file scheduling only

When NetworkJobProvider is not configured, the default local Provider is used, which is suitable for offline debugging on a single machine.

Docker (illustrative)

No official image is provided yet; you can package one inside your organization:

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
COPY ./publish/ .
ENTRYPOINT ["dotnet","AntJob.Web.dll"]

Deployment topologies

Topology Description
Single instance Web + Server + JobApp on the same machine for development and testing
Dual-center high availability Two scheduling-center addresses separated by commas (active/standby), with automatic client failover
Multi-execution cluster Several execution nodes, grouped by business or load, connecting to a unified scheduling center
Hybrid Dual centers + multiple execution nodes in production; separate clusters for test/staging

Main Features

AntJob uses the "ants moving house" idea to split any large task into small pieces that can run in parallel. The idea was born in Lujiazui, Shanghai, during the 2008 financial crisis, in response to financial institutions' urgent need for low-cost, high-efficiency data analysis. Comparable systems include XxlJob, Quartz, Hangfire, Airflow (in some scenarios) and self-built scheduled-script clusters; AntJob emphasizes "data/time slicing + retry + unified multiple modes" and non-intrusive integration with an enterprise's existing .NET ecosystem, validated by trillion-scale scheduling and tens of billions of data-cleaning records.

<details> <summary><b>Typical Use Cases</b> (4)</summary>

Scenario Why AntJob fits
Massive logs / orders / transactions / device data Continuous extraction and real-time computing over ever-growing data sets
Rolling aggregation by time window Second / minute / hour / day / custom Cron windows are computed slice by slice
Data backfill and recalculation Historical ranges can be reset and replayed without affecting live windows
High-concurrency batch processing Distributed across data centers with an elastic number of nodes

</details>

<details> <summary><b>Core Capabilities</b> (11)</summary>

Capability What it gives you
Multiple scheduling modes Time, data window, message, Cron, SQL statements and C# dynamic scripts
Job time/data slicing Down to second-level granularity, with catch-up, backfill and batch reset
Reliable task delivery Automatic delayed retry on failure, tolerating transient dependency failures
Elastic cluster Naturally stateless execution nodes that scale out or in at any time
Communication protocols HTTP REST + WebSocket downstream notifications (recommended default), compatible with NewLife.Remoting TCP RPC
Visual monitoring Web console for real-time job curves, task status and online nodes
Job panel Dynamic parameter adjustment plus runtime statistics from the console
Pluggable providers IJobProvider implementations for network, file and local custom sources
Light dependencies The core relies on NewLife's own ecosystem (logging, configuration, tracing), reducing external complexity
Cross-platform and multi-TFM From .NET Framework 4.5 to .NET 8/9
Strong naming and long-term compatibility Convenient for enterprise private deployment and secondary packaging

</details>

<details> <summary><b>Scheduling Modes</b> (5)</summary>

Mode Use case, granularity and key fields
Time / Cron General periodic tasks at second-to-Cron granularity, driven by Job.Time / Cron; Cron expressions replace fixed Start+Step intervals
Data (time window) Processes newly added data by time slice (second to any window), driven by Start / End; missing windows are filled automatically, ideal for rolling computation over journal and log tables
Message Passive, real-time message-driven mode: the Body of an external push/queue message becomes a task
SQL / data-driven Scans a data table and slices it by primary key/time (batch); an extension component often used for historical backfill or bulk migration
C# dynamic script Quick experiments and hot updates for small logic; the script is compiled and executed at runtime, subject to permission/sandbox limits

</details>

<details> <summary><b>Architecture and Core Modules</b> (9)</summary>

Component Responsibility
AntJob.Server Scheduling-center server logic: Job & Task metadata, slicing, assignment and retry policy
AntJob.Web Visual management platform built on NewLife.Cube: multi-tenant App isolation, permissions, monitoring
AntJob (library) Client SDK: Scheduler and Handler abstractions, network communication, context wrappers
AntJob.Extensions Extended scheduling types: SqlMessage, DataHandler, MessageHandler, CSharpHandler, etc.
Samples Example projects (HisAgent, HisData, HisWeb, HelloWork)
Scheduler Core scheduling engine that manages handler lifecycles and task dispatch
Handler Base class for business modules; each module implements Execute / ExecuteAsync
IJobProvider Task source provider supporting network, local and custom sources
JobContext Execution environment and state of one task, including statistics and logging helpers

</details>

<details> <summary><b>Reliability and Consistency</b> (6)</summary>

Guarantee How it works
Atomic task assignment A given task ID is acquired by exactly one node
State machine Ready → Processing → Completed / Error / Cancelled
Automatic retry Failed tasks are retried after a delay (1 minute by default), up to N times (configurable)
Reset mechanism Batch-reset a historical range for recalculation (backfill / correction)
Idempotency Business logic should implement idempotent writes based on primary keys/time windows
Heartbeat and online table Real-time detection of node online/offline, supporting elastic scaling

</details>

<details> <summary><b>Configuration</b> (7)</summary>

Setting Meaning
Server Scheduling-center address(es). http(s):// uses the HTTP + WebSocket channel, tcp:// uses the RPC-compatible channel, e.g. https://a.example.com,https://b.example.com or tcp://a:9999,tcp://b:9999
AppID / Secret Application isolation credentials, auto-registered or manually distributed
Debug Debug switch that outputs more detailed logs
UseRegistry Whether to resolve service addresses through the Stardust registry (default true); set it to false when connecting directly through a gateway
MessageIdlePeriod Idle request period for message-type jobs in seconds (default 15); an HTTP-channel message notification wakes it up immediately
Database Web/Server side connections automatically create tables through XCode reverse engineering
Stardust integration Optional registry, APM and configuration-center capabilities for the Web/Server side

</details>

<details> <summary><b>Extension Mechanisms</b> (6)</summary>

Mechanism How to use it
Custom handler Inherit Handler, override Execute(JobContext ctx) and return the number of successfully processed items
Custom data-source provider Implement IJobProvider (for example Kafka / Redis Stream / REST)
Message scheduling MessageHandler turns an arbitrary message body into tasks
SQL / data-driven SqlMessage + DataHandler scan and slice data
Dynamic scripts CSharpHandler allows rapid trial and error through scripts (restrict permissions in production)
Plugin-based packaging Strong naming and multi-TFM support let handlers live in separate assemblies and be hot-plugged

</details>

<details> <summary><b>Performance and Capacity Planning</b> (7)</summary>

Item Guidance
Per-job slice volume Up to tens of billions of task history records, depending on database capacity
Per-node throughput Depends on the handler business logic; framework scheduling overhead is minimal (in-memory scheduling control)
GC pressure Object pools and caches are used internally, leveraging NewLife.Core optimizations
Slice granularity Keep it moderate; slices that are too fine increase scheduling metadata overhead
Database pressure Use batch I/O or caching to reduce database load
Large computation windows Prefer Data mode with a sub-window loop
Proven scale Fund SMS mass-sending, 6 billion rows sliced from a single table, 12 million express orders per day, tens of billions of data-cleaning records and trillion-scale annual scheduling

</details>

<details> <summary><b>Core Concepts</b> (5)</summary>

Concept Meaning
Job Job configuration: time/step/Cron/mode/concurrency limit, etc.
Task The smallest execution unit after a job is instantiated, with a time point or interval and message body
Handler Business-logic carrier whose lifecycle is managed by the Scheduler
JobContext Execution context of one task, including the Task, statistics and logging helpers
IJobProvider Task-source provider (network/local/custom)

</details>

<details> <summary><b>Comparison with Other Schedulers</b> (4)</summary>

System How AntJob differs
Quartz.NET A pure scheduling/Cron library; AntJob adds data/message slicing, recalculation and simple cluster sharding
Hangfire Persistent background jobs; AntJob focuses on continuous time/data slicing rather than a one-off task queue
XXL-JOB Java ecosystem; AntJob is .NET-native with unified multiple modes and dynamic scripting
Airflow DAG orchestration; AntJob is lighter and focuses on high-frequency window processing, and can complement Airflow

</details>

<details> <summary><b>FAQ</b> (5)</summary>

Question Answer
Why are jobs stopped by default after registration? To prevent a large number of starts before parameters are configured; enable them manually in the Web console
How do I recalculate a month of data? Change the start time in the job panel, reset the specified time range, or batch-select tasks and reset them
Do failed tasks block subsequent ones? No; failed tasks are retried with a delay while other windows continue to be scheduled
Can I use only HTTP/WebSocket? Yes. Set Server to an http:// or https:// address and the client automatically uses HTTP REST + WebSocket notifications without a separate AntServer; tcp:// addresses keep the RPC-compatible channel
How do I limit script risk? Disable the unused CSharpHandler, or isolate it in a separate process with a least-privilege configuration

</details>

<details> <summary><b>v4 Upgrade Progress</b> (5)</summary>

Item Status
HTTP access Done: AntWeb provides scheduling services, no AntServer required; WebSocket downstream notifications ship with the HTTP channel
Enhanced scheduled scheduling Done: Cron expressions are supported, gradually replacing fixed Start+Step stepping
Pre-generated tasks Planned: execute exactly on time (accuracy improvement, to be evaluated)
Active task delay Done: request a delay during execution without counting it as a failure
More scheduling modes Planned: regular AntAgent, incorporating SQL scheduling / C# scheduling, with extraction and push modes to follow

</details>

<details> <summary><b>Roadmap Beyond v4</b> (4)</summary>

Item Description
Active task delay API Evaluate a delay during execution and run later without counting it as an error
Pluggable alert channels Email / Webhook / WeCom and other channels
Monitoring metric export Multi-dimensional export for Prometheus / OpenTelemetry
Optional DAG layer DAG / dependency orchestration after the core stabilizes

</details>

Architecture diagrams

Component topology

+----------------------+            +-------------------------+
|  Execution Node(Agent)|  RPC/TCP  |  Scheduling Center(Server)|
|  - Scheduler         |            | - JobService / Task     |
|  - Handlers(business)|            | - State & metadata      |
+----------+-----------+            +-----------+-------------+
           |  Sync logs/tracing (optional Stardust)  |
           v
    +-------------+      Web UI / API      +------------------+
    | DB / Storage|  <------------------>  | Web Console AntWeb|
    +-------------+                         +------------------+

Job application (implements IJob)

sequenceDiagram
    participant App as Job Application
    participant Server as Scheduling Center AntServer
    participant Web as Console AntWeb

    App->>Server: app login
    Note over Server: app/secret
    App-->>Server: register job

    Web->>Server: set parameters
    Web->>Server: start job

    App->>Server: request job task
    Server-->>App: return task
    Note over App: multi-threaded task processing

    App-->>Server: report partial status
    Note over Web: job status dashboard
    App->>Server: processing succeeded
    App-->>Server: processing failed
    App-->>Server: delayed processing

Scheduling-center master/slave architecture

sequenceDiagram
    participant App1 as Job Application
    participant Server1 as Scheduling Center
    participant DB as Database
    participant Server2 as Scheduling Center 2
    participant App2 as Job Application 2
    participant App3 as Job Application 3
    participant App4 as Job Application 4
    participant Web as Web Console

    App1->>Server1: login
    Server1->>DB: connect
    App1-->>Server2: failover
    Server2->>DB: connect

    App2->>Server1: login
    App3->>Server1: login
    App4->>Server1: login

    Web-->>Server1: monitor

Ecosystem Map

NewLife is a layered ecosystem of independently versioned open-source projects. The map below is shared verbatim by every NewLife repository; each project links to its repository and its primary NuGet package.

Project What it does Downloads
Foundation
NewLife.Core Logging, configuration, caching, networking, serialization, scheduling and APM tracing. NuGet
NewLife.XCode Data middleware: single tables at the tens-of-billions scale, automatic sharding, read-write splitting, 10+ databases. NuGet
NewLife.Net High-performance network library: 1.77M pps / 14.5 Gbps on a single machine (TCP 1KB, 2026-10), 4M long-lived TCP connections. NuGet
NewLife.Remoting Protocol communication and RPC framework for client/server applications and IoT devices. NuGet
NewLife.Agent Installs .NET applications as OS daemons: Windows services and Linux systemd. NuGet
NewLife.Templates dotnet new project templates for console, web, API, service, data and IoT projects. NuGet
Data & Messaging
NewLife.Redis Redis client with microsecond latency, millions of ops/s and built-in message queues. NuGet
NewLife.RocketMQ Pure managed RocketMQ client for Apache RocketMQ and Alibaba Cloud Message Queue. NuGet
NewLife.MQTT MQTT client and server, including Alibaba Cloud IoT connectivity. NuGet
NewLife.NovaDb Hybrid database in C#: embedded or networked, relational, time-series, message queue and KV in one. NuGet
NewLife.MySql MySql driver and helper layer built on the NewLife data stack. NuGet
Web, AI & Distributed
NewLife.Cube Rapid admin-platform framework: permissions, SSO, OAuth server and CRUD scaffolding. NuGet
Stardust Distributed service platform: node management, APM, configuration center, registry and release center. NuGet
AntJob Distributed task and real-time data scheduling platform with sharding, retries and backfill. NuGet
NewLife.AI Unified client for 46 LLM providers plus ChatAI, a ready-to-run web chat application. NuGet
Industrial & IoT
NewLife.IoT IoT standard library defining protocol contracts and device abstractions. NuGet
NewLife.Modbus Modbus TCP/RTU/ASCII implementation on top of NewLife.IoT. NuGet
NewLife.Siemens Siemens PLC protocol on top of NewLife.IoT. NuGet
NewLife.Omron Omron PLC protocol on top of NewLife.IoT. NuGet
NewLife.Melsec Mitsubishi Melsec PLC protocol on top of NewLife.IoT. NuGet
NewLife.OPC OPC client for industrial data access. —
NewLife.BACnet BACnet building-automation protocol stack. NuGet
ZeroIoT Lightweight open-source IoT platform with gateway and device management. —
Vehicle Telematics
NewLife.JT808 JT/T 808 vehicle positioning protocol: 70+ message bodies, 2011/2013/2019. NuGet
NewLife.JT809 JT/T 809 platform-to-platform protocol for transport authorities. NuGet
NewLife.JT1078 JT/T 1078 in-vehicle video: RTP parsing, FLV/fMP4 remuxing and live streaming. NuGet
Domain Components
NewLife.Office One package for Excel, Word, PPT, PDF and 15+ document formats. NuGet
NewLife.Audio Cross-platform audio: codecs, device I/O, DSP, containers and streaming. NuGet
NewLife.Video Video codecs, container formats, frame processing and streaming. NuGet
NewLife.Map Unified interface over Baidu, AMap, Tencent and Tianditu with geocoding and coordinate conversion. NuGet
NewLife.IP IPv4 geolocation with an offline memory-mapped database and an online API fallback. NuGet
Tools & Products
CrazyCoder Developer toolbox: network, serial port, crypto, regex, Modbus and MQTT. NuGet
GitCandy Self-hosted Git source code management system. —
LuckyClover Installs the matching .NET runtime automatically when launched from an older host. —

Badges show the primary package of each project; theme, extension and satellite packages are listed on their NuGet pages. The 30+ packages not listed here (FTP, LoRa, Office extensions, protocol drivers and more) are available under the NewLifeX organization and on newlifex.com. This table is maintained in the NewLife.Core README.

Documentation

Document Description
Requirements Vision, core goals, functional requirements of the 7 major modules and the deferred list
Feature list Three-dimensional implementation/test/comment status tracking of 85 features (including the mandatory split check)
Architecture Layered architecture, core component responsibilities, key process sequence diagrams, design decisions
HTTP and WebSocket deployment Gateway configuration, Redis broadcast, migration steps and troubleshooting checklist
Core component benchmarks Benchmark data and tuning advice for time expressions, template replacement and SQL fragment parsing

Contributing

Build and test

dotnet build -c Release
dotnet test -c Release
# Only the main test project (net10.0), used by CI on win-x64 and linux-arm64
dotnet test AntTest/AntTest.csproj -c Release
  • CI: .github/workflows/test.yml builds, runs tests and checks localization plus the README language switcher
  • README checks: pwsh -File sync-readme-languages.ps1 -Check, pwsh -File sync-readme-package.ps1 -Check and pwsh -File check-readme-structure.ps1
  • Benchmarks: Benchmark/AntJob.Benchmarks (BenchmarkDotNet)

Repository layout

AntJob/                 Client core library
AntJob.Extensions/      Extension handlers/messages/SQL, etc.
AntJob.Server/          Scheduling-center core service logic (JobService, etc.)
AntJob.Web/             Razor Pages + Cube admin console
AntJob.Data/            Base data models (entity layer)
Samples/                Sample projects (HisAgent, HisData, HisWeb, HelloWork)
AntTest/                Unit/integration tests
Doc/                    Documentation and assets

Release

Push a v-prefixed tag (for example v5.0.2026.1024) to trigger .github/workflows/publish.yml. The workflow packs AntJob, AntJob.Extensions and AntJob.Web, publishes them to NuGet.org and GitHub Packages, and creates a GitHub Release whose notes are taken from the matching ChangeLog.md section (assets include nupkg and snupkg). A manual run only publishes packages and does not create a Release. Commits touching AntJob/ or AntJob.Extensions/ on master also produce beta packages through publish-beta.yml.

Feedback

  • Before submitting, make sure dotnet build and the relevant tests pass; follow the repository code style.
  • Report bugs and suggestions via Issue; Stars and PRs are welcome.

Team

<img src="https://github.com/NewLifeX/AntJob/raw/master/Doc/ant.png" width="96" align="left" alt="AntJob" />

<img src="https://newlifex.com/logo.png" width="48" align="right" alt="NewLife" />

Founded in 2002, the NewLife team has spent more than two decades on the .NET and IoT ecosystem, maintains nearly 100 open-source projects (34 of them core to this map), and delivers integrated software and hardware solutions for power, logistics, healthcare, industrial control and internet industries. We live by the motto "learning has no seniority — mastery earns respect".

Open-source components have been downloaded 6.48M times from NuGet (ecosystem-wide, as of 2026-10).

Website: https://newlifex.com · Open source organization: https://github.com/NewLifeX

<details> <summary>WeChat Official Account: 智能大石头 (scan to follow)</summary>

智能大石头

</details>

License

This project is licensed under MIT © 2002-2026 NewLife Team. You may use, modify and redistribute it freely.

If this project is helpful to you, welcome to Star it, share it with your team, or provide improvement suggestions via Issue/PR.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  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 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on NewLife.AntJob:

Package Downloads
NewLife.AntJob.Extensions

AntJob extension components on top of the core SDK: SQL-driven, message-driven and dynamic-script scheduling modes. NativeAOT-ready, with built-in runtime localization; targets .NET Framework 4.5, .NET Standard 2.0/2.1 and .NET 8.0. 蚂蚁调度扩展库:在核心 SDK 之上提供 SQL 数据驱动、消息驱动与动态脚本等多种调度模式;原生 AOT 就绪,内置运行时多语言消息;单包覆盖 .NET Framework 4.5 至 .NET 8.0 共 4 个目标框架。

AntWeb

AntJob 可视化管理平台,提供任务调度、监控、日志查询和集群管理功能。

AntJob.Data

AntJob 分布式调度系统的数据层,包含任务、日志和状态管理的数据模型与存储接口。

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.1.2026.1028 214 10/28/2026
5.1.2026.1028-beta0453 79 10/28/2026
5.1.2026.1028-beta0441 84 10/28/2026
4.5.2026.901 190 9/1/2026
4.4.2026.713-beta1507 200 7/13/2026
4.4.2026.501 261 5/1/2026
4.4.2026.501-beta1112 180 5/1/2026
4.4.2026.310 303 3/10/2026
4.4.2026.310-beta0707 233 3/10/2026
4.4.2026.305 256 3/5/2026
4.4.2026.305-beta1203 219 3/5/2026
4.4.2026.304-beta0607 213 3/4/2026
4.4.2026.303-beta0005 226 3/3/2026
4.4.2026.302-beta0605 223 3/2/2026
4.4.2026.301-beta0606 224 3/1/2026
4.4.2026.211-beta0605 239 2/11/2026
4.4.2026.205 400 2/5/2026
4.4.2026.201-beta0405 242 2/1/2026
4.4.2026.114-beta0606 249 1/14/2026
4.4.2026.113-beta1350 254 1/13/2026
Loading failed

原生 AOT 就绪,AOT/裁剪分析器 0 告警,泛型处理器注册补齐裁剪标注;HTTP 通道完整化,客户端按地址自动选择 HTTP 或 TCP RPC,直接对接 AntWeb 无需独立服务端;新增 WebSocket 下行通知并支持断线补偿拉取;新增 UseRegistry 注册中心解析开关与 MessageIdlePeriod 空闲周期配置;上报幂等与锁超时保护,重复或乱序上报不再污染统计;调度循环多作业并行申请,动态处理器按名称建索引;内置 11 种语言运行时词表,包描述中英双语;依赖对齐 NewLife.* 2026-10-24 最新正式版