Golang 实现定时任务

本文介绍了在Golang中实现定时任务的两种方法,重点讨论了使用计时器的方式,包括如何创建、取消定时器,以及在分布式系统中如何处理并发和一致性问题。文章提到了通过channel进行线程间通信,并探讨了防止误操作和重入的方法。
摘要由CSDN通过智能技术生成

前言

日常运维中难免会遇到主从切换的场景,比如机房迁移、故障机替换等待,为了平滑迁移需要先将待下线主机上的主全部切走,主从切换动作有损所以需要低峰期操作,一般都是凌晨以后,如果联动业务核心指标做好前后校验,其实是可以将该动作自动化的,如果自动化就涉及到定时执行,这里记录下在平台上通过go语言实现定时任务的简单思路

通过go语言实现定时任务有两种方法,一种是采用主机自带的crontab机制,go语言有对应的包实现,另一种是采用计时器的方式,如果采用前者,前端需要将通过时间选择器获取的时间转化为定时任务的时间格式,传参方式没有后者简单,所以选择了通过计时器实现定时任务
创建定时器

f:=func(){
   
	fmt.Println("Timer expired,begin to do next task")
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值