GoFrame 定时任务要避免重复执行
单机定时任务很简单,多实例部署后就会出现同一个任务被多个实例同时执行的问题。GoFrame 里写 cron 前要先确认部署形态。
如果服务会多副本运行,任务需要分布式锁、任务中心,或者单独拆成 worker 部署。不能默认“线上只有一个进程”。
if !lock.TryLock(ctx, "job:daily-report") {
return
}任务执行还要记录开始、结束、耗时和结果。否则失败后只能靠业务数据猜发生了什么。
分类:
GoFrame 实践
标签:
GoFrame 部署 高并发
版权申明
本文系作者 @blogger 原创发布在GoFrame 定时任务要避免重复执行。未经许可,禁止转载。
评论
-- 评论已关闭 --
全部评论