添加任务模式-即时与定时
parent
54fb0e6a18
commit
d6a36c62d6
39
cmd/main.go
39
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() {
|
||||
|
|
Loading…
Reference in New Issue