From d6a36c62d6125c2248220a17ef72485f42222ed8 Mon Sep 17 00:00:00 2001 From: Administrator Date: Thu, 2 May 2024 14:58:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F-=E5=8D=B3=E6=97=B6=E4=B8=8E=E5=AE=9A=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/main.go | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index 3c67df0..7422f04 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -1,6 +1,7 @@ package main import ( + "flag" "fmt" "log" "time" @@ -13,10 +14,9 @@ import ( var maxRetries = 0 var now = time.Now() +var liveMode bool func main() { - fmt.Println("-----------------------------------------------------------------------------------------") - fmt.Println("-----------------------------------------------------------------------------------------") log.Println(` _____ _/ ____\______ ____ _____ _____ ____ __ _ _______ ____ ____ @@ -26,23 +26,32 @@ _/ ____\______ ____ _____ _____ ____ __ _ _______ ____ ____ \/ \/ \/ \//_____/ `) fmt.Println("-----------------------------------------------------------------------------------------") fmt.Println("-----------------------------------------------------------------------------------------") - if maxRetries < 3 { - for { - remainingTime := tools.RemainingTimeUntilNextFriday17() - if remainingTime <= 0 { - break // 当剩余时间小于等于0时跳出循环 + flag.BoolVar(&liveMode, "liveMode", false, "即时模式关闭") + flag.Parse() + if !liveMode { + fmt.Println("目前时定时任务模式") + if maxRetries < 3 { + for { + remainingTime := tools.RemainingTimeUntilNextFriday17() + if remainingTime <= 0 { + break // 当剩余时间小于等于0时跳出循环 + } + fmt.Printf("距离执行定时任务还剩 %d小时 %d分钟 %d秒\n", int(remainingTime.Hours()), int(remainingTime.Minutes())%60, int(remainingTime.Seconds())%60) + time.Sleep(time.Minute * 10) // 等待10分钟,然后更新 } - fmt.Printf("距离执行定时任务还剩 %d小时 %d分钟 %d秒\n", int(remainingTime.Hours()), int(remainingTime.Minutes())%60, int(remainingTime.Seconds())%60) - time.Sleep(time.Minute * 10) // 等待30分钟,然后更新 - } - // 定义任务,每周五的五点执行 - gocron.Every(1).Friday().At("17:00").Do(job) - // 开始定时任务 - <-gocron.Start() + // 定义任务,每周五的五点执行 + gocron.Every(1).Friday().At("17:00").Do(job) + // 开始定时任务 + <-gocron.Start() + } else { + log.Fatalln("最大重试次数已到达3,退出") + } } else { - log.Fatalln("最大重试次数已到达3,退出") + fmt.Println("目前时即时任务模式") + job() } + } func job() {