我需要为我的 Web 服务器实现一项服务,用于刷新来自外部 Rest-API 的访问令牌,因为该令牌的过期时间为 10 分钟。(这不是我的服务器生成的访问令牌,而是我从外部 api 收到的令牌,允许我在有限的时间内使用他们的服务)
为了在 Go 中实现定时函数,我遇到过使用 time.Ticker 的 cronjobs 和函数,但是我还没有遇到过任何关于使用其中一种的优点/缺点的帖子,并且希望使用一种可能是更好的用途对于我的情况。
如果有可选路线,我也愿意探索。
谢谢
time.Ticker 包含在 Go 标准库中。没有“cron”库。因此,您可以通过使用 time.Ticker 来减少外部依赖性。
Cron 旨在按指定的计划运行作业。通常这些作业由操作系统在 Go 程序之外运行。这不完全是你想要的。还有其他作业运行程序和名为“cron”的库,它们实际上是作业运行程序,但它们又是第三方库。
goroutine 中的 time.Ticker 非常简单,您只需拥有一个很好的无限循环,每隔几分钟获取一个 API 令牌,并将其沿着通道发送到需要的地方。这可能是八行代码。