php小編蘋果為你介紹gocron,這是一個強大的調度程序,可以讓你在每小時運行任務。它是一個簡單易用的工具,無需編寫繁瑣的程式碼即可實現定時任務調度。使用gocron,你可以輕鬆設定每小時執行的任務,無論是資料備份、日誌清理或其他重要的定時任務,都能得到準確可靠的執行。 gocron還提供了友善的圖形化介面,讓你可以方便地管理和監控你的定時任務。無論你是個人開發者還是企業管理員,gocron都是你不可或缺的工具。
如何使用 gocron 每小時特定分鐘運行函數?
我嘗試了兩種程式碼,一種很髒,另一種不起作用。
髒程式碼:
loc, _ := time.loadlocation("asia/seoul") s := gocron.newscheduler(loc) _, err = s.every(1).day().at("0:30").do(schduler) _, err = s.every(1).day().at("1:30").do(schduler) _, err = s.every(1).day().at("2:30").do(schduler) _, err = s.every(1).day().at("3:30").do(schduler) _, err = s.every(1).day().at("4:30").do(schduler) _, err = s.every(1).day().at("5:30").do(schduler) _, err = s.every(1).day().at("6:30").do(schduler) _, err = s.every(1).day().at("7:30").do(schduler) _, err = s.every(1).day().at("8:30").do(schduler) _, err = s.every(1).day().at("9:30").do(schduler) _, err = s.every(1).day().at("10:30").do(schduler) _, err = s.every(1).day().at("11:30").do(schduler) _, err = s.every(1).day().at("12:30").do(schduler) _, err = s.every(1).day().at("13:30").do(schduler) _, err = s.every(1).day().at("14:30").do(schduler) _, err = s.every(1).day().at("15:30").do(schduler) _, err = s.every(1).day().at("16:30").do(schduler) _, err = s.every(1).day().at("17:30").do(schduler) _, err = s.every(1).day().at("18:30").do(schduler) _, err = s.every(1).day().at("19:30").do(schduler) _, err = s.every(1).day().at("20:30").do(schduler) _, err = s.every(1).day().at("21:30").do(schduler) _, err = s.every(1).day().at("22:30").do(schduler) _, err = s.every(1).day().at("23:30").do(schduler) if err != nil { fmt.println("error scheduling task:", err) return } s.startasync()
不工作的程式碼:
_, err = s.Every(1).Hour().Minute(30).Do(runHourlyScheduler)
使用.every(1).hour()
,然後將其與.startat()
鏈接,並使用任何將分鐘設定為30
的time.time
物件填入參數。
這樣,調度程式將每小時運行幾分鐘 30
。
loc, _ := time.LoadLocation("Asia/Seoul") s := gocron.NewScheduler(loc) // construct start at in minute 30 now := time.Now() nextSchedule := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 30, 0, 0, now.Location()) _, err := s.Every(1).Hour().StartAt(nextSchedule).Do(schduler) if err != nil { fmt.Println("Error scheduling task:", err) return } s.StartAsync()
以上是使用 gocron 運行每小時調度程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!