×

推荐一个基于 .NET 实现的开源任务调度平台

独孤求败 独孤求败 发表于2026-02-05 09:20:18 浏览26 评论0

抢沙发发表评论

xxl-job-dotnet

xxl-job-dotnet 是一个 .NET 版本的 xxl-job,由于xxl-job是java编写的,官方只提供了java版本的执行器,.net项目无法使用xxl-job,因此xxl-job-net实现了.net版本的执行器,让.net项目也可以方便地使用xxl-job。

xxl-job 是一个分布式的任务调度平台,让你可以轻松地完成定时任务的开发,尤其是在分布式环境中,xxl-job解决了许多分布式环境下的难题。

xxl-job 架构图

图片.png


在 .NET 中使用

首先,在项目中通过 Nuget 安装 XxlJob.AspNetCoreHost,如下

dotnet add package XxlJob.AspNetCoreHost

然后,在 Startup 中配置 xxl-job 服务,这里使用了配置文件方式加载xxl-job配置,这里要求 .net core 2.0+ 版本

public void ConfigureServices(IServiceCollection services)
{
    services.AddXxlJob(xxlJob =>
    {
        xxlJob.Configure(Configuration.GetSection("XxlJob"));
    });
    services.AddMvc();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseXxlJob();

    app.UseMvc();
}

上面代码中 Configuration.GetSection("XxlJob") 从配置文件中读取配置初始化 xxl-job, 配置服务端地址

{
  "XxlJob": {
    "AdminAddresses": [ "http://localhost:8080/xxl-job-admin" ]
  }
}

编写任务处理代码

新建一个JobHandler继承自IJobHandler,在Execute中执行你的业务逻辑就行了。

public class TestHandler : IJobHandler
{
    public override ReturnT Execute(JobExecutionContext context)
    {
        JobLogger.Log("任务开始执行");
        JobLogger.Log("任务执行结束");
        return ReturnT.CreateSucceededResult("测试job执行成功了!""执行返回的内容");
    }
}



项目地址


https://github.com/yuniansheng/xxl-job-dotnet


群贤毕至

访客