beego负载均衡情况下 如何处理定时任务

背景:phper转go新手上路,beego框架,新项目用k8s部署了多个实例,需要用到定时任务
“github.com/robfig/cron” 包和beego的task模块都可以做到,但是要放到main函数中执行
不可以像PHP一样Linux crontab单文件定时执行

问题:多个实例情况下有会重复执行,在不考虑加redis队列和查库判断是否已处理过的情况下,如何处理这种问题?

同样的用PHP 去实现的话,我之前是20台服务器,只在机器1上部署crontab 去定时执行。
但是GO只能放在main函数中,这样就会导致多个实例都会执行

现在的话我就在想有没有什么方法,只在单个实例中执行,或者有没有其他办法呢?

納末
最佳答案

分布式锁

2年前 评论
納末 (楼主) 2年前
讨论数量: 5

单独部署任务服务器散

2年前 评论
納末 (楼主) 2年前

通过命令行参数,进行区分

2年前 评论
納末 (楼主) 2年前

程序启动时,开启一个协程做定时任务

2年前 评论
納末 (楼主) 2年前

分布式锁

2年前 评论
納末 (楼主) 2年前

请问GO 只能放在 main 函数中是什么意思?

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!