我需要在一天中的特定时间运行一个函数(例如 0010、0610、1210、1810)。我目前的方法使用自动收报机for _ = range time.Tick(21600 * time.Second),我以这些时间间隔之一(例如 1210)手动启动程序。这显然是次优的。对此的最佳解决方案是什么?我想过每 60 秒运行一次自动收报机,然后检查时间是否与其中一个间隔相匹配,但这似乎不太优雅。
1 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
您真正想要的是调度程序,因此您的选择是:
将您的程序限制为您希望在每个时间间隔完成的工作,但使用现有的调度程序进行调度 - 一个简单的示例是使用 cron 作业(或对于 Windows,任务调度程序)根据所需的时间表启动您的程序
将您的程序本身变成一个调度程序,它按计划正确调用所需的功能。理想情况下,您的程序需要作为守护程序运行(服务,在 Windows 上),或者启动一次并以某种方式一直运行
- 1 回答
- 0 关注
- 432 浏览
添加回答
举报
0/150
提交
取消