先看看实现后的具体后台页面
后台对定时任务的curd暂时不开放源码,后台php开发的,没啥难度,主要是像etcd中对任务进行操作(后台公司再用,抱歉不能公开后台源码),后台请求的api接口在master目录中;
学习golang的分布式任务之前先学习协etcd的使用
etcd的安装
etcd的使用
重点需要学习etcd的 续租,watch监听key
golang分布式任务主要分为
master 服务端 主要提供后台操作的api,添加定时任务和一次性任务到etcd中,对任务进行增删改查 日志 服务发现 服务注册等功能
worker 客户端 主要监听etcd中的任务(与自己服务器ip相关的任务) 一次性任务立即执行即可,定时任务解析表达式后,放入内存中,定时执行
woker执行流程:
一下code可以手动向etcd添加任务 或者删除任务
View Code
** master:**
主要负责接收后台对任务的管理 提供api接口
go run .\master\main\master.go -config= .\master\main\master.json
** worker:**
监听任务,执行任务,任务调度
go run .\worker\main\worker.go -config=./worker\main\worker.json -logDir=./logs/worker
该套分布式任务管理开箱即用,如有疑问可以随时提问
项目框架解析: 供学习爱好者
一次性任务脚本