在 heroku 上启动时将 rake 任务自动化到 运行?

Automate a rake task to run on boot on heroku?

假设有一个任务

rake startupscript

应该 运行 每当应用程序启动时,我们如何在 heroku 上自动执行它?

我知道有一个 heroku 调度程序,但它会 运行 每 10 分钟执行一次任务,而不是仅在启动时执行一次。我也知道 Procfile 并相信这是一个解决方案,尽管我还不知道如何实施(可能更重要的是,我不想冒险破坏任何其他可以通过 Procfile 配置的东西,例如网络服务器等)。许多 Procfile 文档专注于使用它来改变 Web 服务器而不是应用程序级别的 rake 任务。

如何在启动时对 运行 执行 rake 任务?

您可以在启动应用程序服务之前将类似的内容添加到 Procfile

# Run pre-release-tasks here
release: bundle exec rails db:migrate
# Then run your application
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}

任何标记为 release 的内容都会 运行 在启动脚本 运行s

之前

https://devcenter.heroku.com/articles/release-phase