go语言基于Gin集成后台管理系统开发定时任务管理cron/v3好用又好看

系统目前是支持两种定时类型,一种是函数类型,一种是接口类型,来支持多样的业务;时间周期可视化选择,方便设定执行周期。框架UI漂亮,添加管理定时任务设置简单,客户都可以做自己调整执行时间周期,直观的执行日志,下面我们一起框体验吧!

一、在线体验和获取代码地址

立即体验

去获取代码

二、截图效果

三、使用

HttpJob 接口类型

任务类型选择:访问URL。

接口类型是比较简单的,在系统中配置好调用的接口地址(访问的url地址)、调用周期即可;

ExecJob 函数类型

任务类型选择:调用函数。

函数类型是需要使用代码来完成的业务,这个时候我们需要使用函数类型;

系统中给出了一个示例:

cronjob目录中可以看到examples.go的文件,这里边是给出的一个示例代码;

下面我们针对示例代码做一下介绍:

第一步:需要创建一个结构体,这个结构体需要实现JobCore接口;如:ExamplesOne,里边实现了Exec方法;

Go 复制代码
type ExamplesOne struct{}

func (t ExamplesOne) Exec(arg interface{}) error {
    str := time.Now().Format(timeFormat) + " [INFO] JobCore ExamplesOne exec success"
    // TODO: 这里需要注意 Examples 传入参数是 string 所以 arg.(string);请根据对应的类型进行转化;
    switch arg.(type) {
    case string:
        if arg.(string) != "" {
            fmt.Println("函数参数:", arg.(string))
            fmt.Println("函数执行了:", str, arg.(string))
        } else {
            fmt.Println("arg is nil")
            fmt.Println("函数执行了:", str, "arg is nil")
        }
        break
    }
    return nil
}

第二步:需要在jobbase.go下的InitJob中注册这个结构体;如:ExamplesOne;需要将结构体的名称作为key,结构体作为value;这样重新启动项目,就可以在系统中进行配置并使用了;

Go 复制代码
func InitJob() {
    jobList = map[string]JobsExec{
        "ExamplesOne": ExamplesOne{},
        // ...
    }
}
相关推荐
凤山老林14 小时前
Spring Boot 定时任务进阶:动态 Cron 与集群防重实战
java·spring boot·后端·定时任务·集群定时任务
仙逆GPT11 天前
Codex定时任务怎么设置?ChatGPT Plus用Worktree自动巡检项目
chatgpt·定时任务·codex·git worktree·chatgpt plus
CodexDave12 天前
Python 自动化接单实战(七):定时报告如何保证同一天只生成一次
python自动化·定时任务·报表生成·幂等执行
妙码生花13 天前
从 PHP 到 AI + Golang,程序员自救转型手记(四十一):增加管理员账号管理接口
后端·go·gin
JL1518 天前
Spring Boot vs Gin:Java 人搭第一个 Go REST API
java·spring boot·gin
豆瓣鸡22 天前
XXL-JOB 定时任务——从 Docker 部署到分片广播,分布式任务调度落地
spring boot·分布式·docker·定时任务
Anastasiozzzz25 天前
从单机定时到分布式调度:深度剖析 XXL-JOB 的架构设计、核心机制与生产实战
定时任务
小邓的技术笔记25 天前
解析 gin 接收到 http 请求是怎么处理的
网络协议·http·gin
妙码生花1 个月前
从 PHP 到 AI + Golang,程序员自救转型手记(三十三):权限规则管理器
后端·go·gin
北冥you鱼1 个月前
Gin 架构在区块链应用中的最佳实践
架构·区块链·gin