首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于 .NET 开源、功能齐全的分布式作业调度系统

基于 .NET 开源、功能齐全的分布式作业调度系统

作者头像
郑子铭
发布2025-09-02 17:47:47
发布2025-09-02 17:47:47
11300
代码可运行
举报
运行总次数:0
代码可运行

前言

在当今企业级应用开发中,可靠的任务调度系统已成为支撑业务连续性的关键基础设施。今天大姚给大家分享一个基于 .NET 开源、功能齐全的分布式作业调度系统:Sundial。

系统介绍

Sundial 是一个基于 .NET 开源(MIT License)、功能齐全的分布式作业调度系统,它可从最小的应用程序到大型企业系统使用。

创建 .NET 9 Web API

首先我们创建一个名为:SundialExercises .NET 9 控制台应用:

引入 Sundial NuGet 包

在 NuGet 包管理器中搜索:Sundial 进行安装。

自定义任务

创建自定义任务 CustomJob 并实现 IJob 接口:

代码语言:javascript
代码运行次数:0
运行
复制
    public class CustomJob : IJob
    {
        private readonly ILogger<CustomJob> _logger;

        public CustomJob(ILogger<CustomJob> logger)
        {
            _logger = logger;
        }

        public Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
        {
            _logger.LogInformation(context.ToString());
            Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] 任务执行中...");
            return Task.CompletedTask;
        }
    }

注册 Sundial 作业并配置触发器

在 Program.cs 中注册 Sundial 作业并配置触发器:

代码语言:javascript
代码运行次数:0
运行
复制
            // 注册 Sundial 作业
            builder.Services.AddSchedule(options =>
            {
                options.AddJob<CustomJob>(Triggers.PeriodSeconds(10)); // 10s 执行一次

                // 使用Cron表达式(每天12点执行)
                // options.AddJob<CustomJob>(Triggers.Cron("0 0 12 * * ?"));
            });

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。

  • Gitee开源地址:https://gitee.com/dotnetchina/Sundial
  • 本文示例源码地址:https://github.com/YSGStudyHards/DotNetExercises/tree/master/SundialExercises
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet NB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 系统介绍
  • 创建 .NET 9 Web API
  • 引入 Sundial NuGet 包
  • 自定义任务
  • 注册 Sundial 作业并配置触发器
  • 项目源码地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档