自研开源项目上线!我做了一款单镜像一键运行的定时任务调度平台krono-job
开源项目地址:github.com/haioa/krono-job.git
大家好,折腾了好久我把自己开发的定时任务调度工具krono-job正式开源了,当初做这个项目的初衷,就是实在受不了市面上同类调度工具部署时要拆N个组件、装完数据库配消息队列、折腾大半天才能跑通的糟心体验,索性直接撸了个全内置的省心版本。这个功能参考xxljob设计,我做了大量的架构工作,现在功能和xxljob类似,带有web后台管理页面,也支持调用日志查询,支持微服务分布式环境,支持动态添加定时任务,业务代码完全无侵入式接入,不需要引入sdk,只需要像api调用工具一样简单就能够实现定时任务,支持http和grpc。
项目核心特性,都是实打实解决痛点的设计
- 真正单镜像一体化,零外部依赖
我直接把所有组件都打包进了同一个Docker镜像里:Vue3前端、Gin后端API、Asynq调度内核、工作进程,连PostgreSQL 16和Redis 7都内置集成了,你不需要提前准备任何外部服务。 - 一条命令直接启动全平台
不需要编写复杂的docker-compose编排,单次 docker run 指令,几分钟内整个调度平台就能完全可用,省去跨组件网络调试、权限配置的所有繁琐步骤。 - 国内网络环境全适配
专门给国内开发者做了镜像加速兼容,只需要加两个构建参数就能自动切换国内Docker基础镜像源、阿里Ubuntu软件源,完全不用手动修改配置文件,构建过程全程拉满速度不卡顿。 - 零代码支持gRPC任务接入
不用引入额外依赖、不需要修改源码,只需要在 configs/jobs.yaml 配置文件里声明 protocol: grpc ,就能直接配置运行gRPC类型的任务,接入自定义任务的成本极低。 - 轻量多阶段构建设计
采用Node阶段构建前端、Go阶段用vendored依赖离线编译二进制、最终基于精简Ubuntu镜像打包的流程,最终产出的镜像体积很小,运行时资源占用极低,低配服务器也能流畅跑起来。
这个项目目前已经可以直接上手试用,后续我还会持续迭代可视化任务监控、运行日志全链路追溯等更多实用功能,欢迎大家试用提Issue,觉得好用别忘了给项目点个Star支持,也欢迎一起贡献代码共建~




关于 LearnKu
推荐文章: