为了账号安全,请及时绑定邮箱和手机立即绑定

一次允许一个 gocron

一次允许一个 gocron

Go
繁花如伊 2022-07-11 14:45:57
我截断了以下代码,该代码安排作业在指定秒数后运行:import (    "github.com/jasonlvhit/gocron")// ScheduleCron schedules job running at specified JobIntervalfunc (cron CronJob) ScheduleCron() {    gocron.Every(uint64(120)).Second().Do(cron.run)    <-gocron.Start()}func (cron CronJob) run() {    fmt.Println("Cron Scheduled")    cron.job.Run()}这将每 2 分钟运行一次作业。但是,我希望该作业仅在前一个作业完成时才运行。换句话说,一次只能运行一个作业,并且最好在前一个作业完成后 2 分钟运行下一个计划作业。有没有办法做到这一点?该库定义了值为 10000 的 MAXJOBNUM const,将其设置为 1 是否正确?
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

这是一个有点老的问题。自从我遇到以来,仍然想回答。可以为此目的设置 SingletonMode()。正如评论所说,如果先前的作业尚未完成, SingletonMode 会阻止新作业开始运行



查看完整回答
反对 回复 2022-07-11
  • 1 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信