开发中总是会定时执行一些程序,这个时候任务调度系统总是少不了的,说起任务调度,就不得不说Quartz.NET ------一个.NET 版的任务调度框架。
之前写过一个TaskCaller,不过不是基于Quartz的,没有Quartz的功能强大,这段时间由基于Quartz.net重新写了一个httpquartz,文档如下:
基于Quartz.Net、Polly的Http远程调度系统,netcore3.1+mysql数据库。
在服务端有HttpJob提供http远程调度,客户端通过对trigger的操作来实现调度任务的管理,
通过trigger的JobData传输http请求的相关数据。
安装:
Install-Package HttpQuartz.Client
使用:
//实例化HttpClient,或者通过容器获取,并设置BaseAddress为HttpQuartz.Server的部署地址 using var client = new HttpClient {BaseAddress = new Uri("http://localhost:5000")}; var httpQuartzClient = new HttpQuartzClient(client); //添加新任务(添加触发器),成功返回success字符串 var result = await httpQuartzClient.ScheduleJob(new TriggerModel() { Key = new TriggerKeyModel("test", "test"), StartTime = DateTimeOffset.Now.AddSeconds(30), JobData = new JobDataInfo() { url = "http://www.baidu.com", }, SimpleTrigger = new SimpleTriggerInfo() { RepeatInterval = TimeSpan.FromSeconds(10) }, });
Quartz.Net项目
Polly项目
LayUI项目