为了账号安全,请及时绑定邮箱和手机立即绑定

Golang - 如何在特定时间执行函数

Golang - 如何在特定时间执行函数

Go
繁花不似锦 2021-11-22 16:09:35
我需要在一天中的特定时间运行一个函数(例如 0010、0610、1210、1810)。我目前的方法使用自动收报机for _ = range time.Tick(21600 * time.Second),我以这些时间间隔之一(例如 1210)手动启动程序。这显然是次优的。对此的最佳解决方案是什么?我想过每 60 秒运行一次自动收报机,然后检查时间是否与其中一个间隔相匹配,但这似乎不太优雅。
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

您真正想要的是调度程序,因此您的选择是:

  • 将您的程序限制为您希望在每个时间间隔完成的工作,但使用现有的调度程序进行调度 - 一个简单的示例是使用 cron 作业(或对于 Windows,任务调度程序)根据所需的时间表启动您的程序

  • 将您的程序本身变成一个调度程序,它按计划正确调用所需的功能。理想情况下,您的程序需要作为守护程序运行(服务,在 Windows 上),或者启动一次并以某种方式一直运行


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 432 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信