httpquartz一个基于quartz.net的http远程调度系统

开发中总是会定时执行一些程序,这个时候任务调度系统总是少不了的,说起任务调度,就不得不说Quartz.NET ——一个.NET 版的任务调度框架。

之前写过一个TaskCaller,不过不是基于Quartz的,没有Quartz的功能强大,这段时间由基于Quartz.net重新写了一个httpquartz,文档如下:

项目说明

基于Quartz.Net、Polly的Http远程调度系统,netcore3.1+mysql数据库

服务端有HttpJob提供http远程调度,客户端通过对trigger的操作来实现调度任务的管理

通过trigger的JobData传输http请求的相关数据

功能介绍

  • 添加任务
  • 编辑任务
  • 删除任务
  • 暂停任务
  • 恢复任务
  • 日志查看
  • API客户端
  • IU管理

服务端部署

  1. 新建mysql数据库httpquartz
  2. 执行表结构和数据文件/src/HttpQuartz.Server/database/httpquartz.sql
  3. 修改appsettings.json和quartz.config中数据库连接信息
  4. 配置appsettings.json中SafeClients节点,使信任客户端可以使用HttpAPI
  5. 部署HttpQuartz.Server项目(asp.netcore 3.1项目)
  6. 用户名是:admin,密码是:123456

API客户端

安装

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)
        },
    });

UI管理截图

httpquartz一个基于quartz.net的http远程调度系统

httpquartz一个基于quartz.net的http远程调度系统

相关

Quartz.Net项目

Polly项目

LayUI项目

原文 

http://www.loogn.net/httpquartz

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » httpquartz一个基于quartz.net的http远程调度系统

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址