我需要在一天中的特定時間運行一個函數(例如 0010、0610、1210、1810)。我目前的方法使用自動收報機for _ = range time.Tick(21600 * time.Second),我以這些時間間隔之一(例如 1210)手動啟動程序。這顯然是次優的。對此的最佳解決方案是什么?我想過每 60 秒運行一次自動收報機,然后檢查時間是否與其中一個間隔相匹配,但這似乎不太優雅。
1 回答

ABOUTYOU
TA貢獻1812條經驗 獲得超5個贊
您真正想要的是調度程序,因此您的選擇是:
將您的程序限制為您希望在每個時間間隔完成的工作,但使用現有的調度程序進行調度 - 一個簡單的示例是使用 cron 作業(或對于 Windows,任務調度程序)根據所需的時間表啟動您的程序
將您的程序本身變成一個調度程序,它按計劃正確調用所需的功能。理想情況下,您的程序需要作為守護程序運行(服務,在 Windows 上),或者啟動一次并以某種方式一直運行
- 1 回答
- 0 關注
- 470 瀏覽
添加回答
舉報
0/150
提交
取消