我需要为我的 Web 服务器实现一项服务,该服务从一些外部 rest-api 刷新访问 token ,因为该 token 有 10 分钟的过期时间。 (这不是我的服务器生成的访问 token ,它是 我从外部 api 收到的 token ,允许我在有限的时间内使用他们的服务)
为了在 Go 中实现定时功能,我遇到了 cronjobs 和使用 time.Ticker 的函数,但是我还没有看到任何关于使用其中一个的优点/缺点的帖子,我想要一个可能是更好地使用我的情况。
如果有可选路线,我也愿意探索它。
谢谢
最佳答案
time.Ticker 包含在 Go 标准库中。没有“cron”库。因此,您可以使用 time.Ticker 减少外部依赖性。
Cron 旨在按指定的时间表运行作业。通常这些作业由操作系统在 Go 程序之外运行。这不是你想要的。还有其他作业运行器和称为“cron”的库,它们实际上是作业运行器,但它们同样是第三方库。
goroutine 中的 time.Ticker 非常简单,您可以有一个很好的无限循环,每隔几分钟获取一个 API token 并将其通过 channel 发送到需要的地方。这可能是八行代码。
关于Golang Cronjob vs time.Ticker 用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51775807/