一、搭建项目
1、开发环境:Windows11 NetCore3.1
2、引入包:XxlJob.Core.AspNetCore,若NuGet搜不到,直接下载源码引入,源码地址:https://github.com/fangshuaifeng/XxlJob.Core.AspNetCore
3、Startup 注入
// 注入Xxl服务 & 注册所有任务
services.AddXxlJobService(Configuration).ScanJobHandler(typeof(Program).Assembly);
app.UseEndpoints(endpoints =>
{
// 映射路由[BasePath] , 默认 = xxl-job
endpoints.MapXxlJob();
});
4、appsettings.json 配置 XxlJobOptions
"xxlJob": {
"AccessToken": "default_token",
"adminAddresses": [ "IP:Port/xxl-job-admin" ],
"appName": "xxl-job-executor-dotnet",
"port": 5000,
"BasePath": "xxl-job"
}
5、Demo
//[JobHandler("demoJobHandler")]
public class DemoJobHandler : IJobBaseHandler
{
public DemoJobHandler()
{
}
public async Task<ReturnT> Execute(JobContext context)
{
context.JobLogger.Log("开始休眠5秒");
await Task.Delay(5000, context.CancellationToken).ConfigureAwait(false);
context.JobLogger.Log("休眠5秒结束");
return ReturnT.SUCCESS;
}
}
6、PostMan 本地调试
![](https://img-blog.csdnimg.cn/img_convert/d461f19356792a5df96fef9166bcce75.png)