# cronlib
`cronlib`基于`github.com/go-co-op/gocron`的基础上,添加了redis分布式锁,并简化了定时任务调度器的使用;
基于分布式锁的操作,用以解决在集群模式下,多cron可能在同一时刻发起调度的问题
## cronlib 快速使用流程
1. 初始化Job业务逻辑:定义Job定期执行具体业务逻辑
2. 初始化Job任务: `NewJob()`方法创建调度job
3. 初始化Scheduler调度器
4. 添加Job任务到调度器
5. 调度器启动
### 简单的定时任务示例
```
func ExampleStartTest() {
var job1Fn = func(jobID int) {
log.Printf("exec job[#%d] fn", jobID)
}
// 准备job任务
job1 := NewJob("job1", func() { job1Fn(1) }, "* * * * *")
job2 := NewJob("job2", func() { job1Fn(2) }, "*/2 * * * *")
// 准备scheduler调度器
locker, err := NewRedisLocker("redis://127.0.0.1:6379")
if err != nil {
log.Fatalf("parse redis url got err: %s", err)
}
crond := NewScheduler(&Config{
Async: false, // 不阻塞主协程
SingletonModeAll: true, // 调度器不会重复调度同类型新的job任务
}, locker)
// 添加job任务
err = crond.AddJobs(job1, job2)
if err != nil {
log.Fatalf("crond add job got err: %s", err)
}
// job执行
crond.Start()
}
```
### redis 依赖
通过docker快速启动一个本地redis实例:
```shell
$ docker-compose up -d
```
![avatar](https://profile-avatar.csdnimg.cn/d7864c98224046ec9a7f43fa6207c84e_qq_51320133.jpg!1)
生瓜蛋子
- 粉丝: 3942
- 资源: 7440
最新资源
- Proteus 7.8超再生模块接收发送仿真源程序实现:433MHz单片机通信实战演练,单片机433MHz超再生模块:Proteus仿真收发功能实现与原理说明,单片机433MHz超再生模块发送接收Pr
- 基于TypeScript和Html的跨语言Awaken设计源码分享与优化
- 基于MATLAB Simulink建模的双侧独立电驱动履带车转向控制研究:涵盖PI与SMC算法比较,适应大、中半径及原地转向工况,基于MATLAB Simulink建模的双侧独立电驱动履带车转向控制研
- 基于VSG预同步控制与自适应转动惯量的离并网无缝切换技术,基于VSG预同步控制的自适应转动惯量无缝并网切换技术,VSG预同步控制与自适应转动惯量 离并网无缝切 ,VSG预同步控制; 自适应转动惯量
- COMSOL光学计算:BICs合并技术,带能、品质因子及远场偏振可视化解析,详细视频教程,COMSOL光学模拟:BICs合并、能带与品质因子计算及远场偏振箭头绘制教程,详解视频教学,comsol计算光
- 基于SpringBoot与Vue的校友社交管理系统源码设计
- 基于Python的剪切板监听图片识别进入白板设计源码
- 基于Comsol软件的超声换能器相控阵聚焦仿真研究,基于Comsol仿真平台:超声换能器聚焦及相控阵仿真技术研究,Comsol超声能器聚焦 仿真 超声能器相控阵聚焦仿真 ,Comsol; 超声换能器
- 基于Java和Kotlin的SASS电影票管理系统父类设计源码
- 基于Java开发的演唱会在线购票系统设计源码
- 欧姆龙CP1H与台达VFD-M变频器:MODBUS RTU简易主站通讯的PLC程序设计与应用,欧姆龙CP1H与台达VFD-M变频器:基于MODBUS RTU简易主站的轮询通讯保护策略与PLC程序解析
- 基于COMSOL接口的Matlab编程:快速构建三维随机裂隙网络模型,《COMSOL中高效导入的三维随机裂隙网络模型编程生成》,矩形三维随机裂隙网络 使用COMSOL with Matlab接口编程
- 基于Java语言的实时公交系统设计源码
- Simulink仿真模型:基于自适应虚拟阻抗下垂控制改进的双机并联孤岛模式,解决线路阻抗差异导致的无功功率不均分问题(模型版本2018b及以上),Simulink仿真模型下的双机并联下垂控制改进:自适
- 基于Vue框架的人脸考勤系统设计源码
- 电动汽车Simulink仿真模型:整车动力性能与能耗测试模拟平台(支持NEDC工况),电动汽车Simulink仿真模型:整车动力性测试与能耗仿真分析,电动汽车 simulink仿真模型, 可进行整车动
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)