Golang Cronjob vs time.Ticker 用例

标签 go cron

我需要为我的 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/

相关文章:

php - 如何更改 Linux 网络服务器上的 URL 超时设置

linux - 如何使用 Windows 调度程序和 cron URL 来安排运行 Moodle cron?

cron - 在 ubuntu 中保存 cron 作业

function - 您可以使用Azure函数来触发Azure逻辑应用程序吗?

go - 如何为 go 本地包提供版本号以在 `go.mod` 文件中提及

database - DynamoDB批量写入,不同的哈希键,相同的范围键。但提供的项目键列表包含重复项

arrays - 如何使用映射分配结构类型值?

go - 模式匹配后如何查找文本

php - 根据另一个表的条件更新表

go - 我可以将golang应用程序作为后台进程运行吗? (没有nohup)