我使用Clockwork gem 在使用 Heroku 部署的 Rails 应用程序上安排作业。
clock.rb
对于不熟悉的人,它基本上是从您的应用程序根目录中的文件中读取的。
# config.rb
# Schedule every Monday @ 13:00 UTC
every(1.week, "some description", at: "Monday 13:00", tz: "UTC"){
`rake clock_tasks:my_task`
}
...并且有一个专用的 Dyno 运行时钟过程。
# Procfile
...
clock: bundle exec clockwork clock.rb
...
那么如果我不想对时钟文件进行硬编码怎么办?我希望能够clock.rb
在应用程序启动时动态生成使用 ERB。这使我可以灵活地根据环境配置等来安排或不安排某些任务......
Heroku 是否允许您在任何时候将文件“写入”到本地文件系统,以便我可以
clock.rb
在初始化步骤中生成和写入文件?有没有办法在
bundle exec
我创建clock.rb
文件之后延迟使用命令启动测功机的执行?我可以从一个假/空文件开始,然后在初始化期间填充一个新文件,但我仍然需要一种方法让时钟通过重新启动bundle exec clockwork...
命令来重新拾取它。
任何其他创造性的解决方案表示赞赏。
谢谢!