go - 我如何将脚本部署到仅在预定时间运行的 heroku

标签 go heroku cron heroku-cli

我有一个用 Golang 编写的脚本,它执行一些 http 请求并将信息存储在外部数据库中。我希望这个脚本在我设置的时间每天运行一次。现在我正在处理如何部署它,我的第一个选择是 Heroku,因为这是我最熟悉的平台。我的问题是我不希望在我第一次部署脚本或每次部署更新时运行脚本。

相反,我正在考虑使用调度程序插件并设置执行脚本的时间。这是否可能,或者是否有更有效的配置让脚本仅在指定时间运行?

预先感谢您的回答!

最佳答案

你应该使用 gocron https://github.com/jasonlvhit/gocron

并在 heroku 上永久运行你的 dino

在 gocron 你可以安排你的服务

gocron.Every(1).Second().Do(task)
gocron.Every(2).Seconds().Do(task)
gocron.Every(1).Minute().Do(task)
gocron.Every(2).Minutes().Do(task)
gocron.Every(1).Hour().Do(task)
gocron.Every(2).Hours().Do(task)
gocron.Every(1).Day().Do(task)
gocron.Every(2).Days().Do(task)

关于go - 我如何将脚本部署到仅在预定时间运行的 heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54138050/

相关文章:

unit-testing - testify/assert.Contains 如何与 map 一起使用?

javascript - Heroku(Cedar) + Node + Express + Jade 子目录中的客户端 javascript 文件在本地与 foreman+curl 一起工作,但在推送到 Heroku 时不能

java - 将 cron 或 java 循环与 hibernate 进程一起使用

ruby-on-rails - Heroku 推送错误 "Detected sqlite3 gem which is not supported on Heroku."

ruby-on-rails-3 - 每当 gem 不运行时的 cron

php - Cron Job PHP 脚本失败,但脚本将通过 CLI 或浏览器运行

go - go-logr 和 uber 的 zap 详细级别之间的对应关系是什么?

http - Network/Golang - "GET"请求剖析

go - CryptoJS.AES 和 Golang

ruby-on-rails - 运行 Heroku rake db :migrate on Heroku not migrating the database