【问题标题】:Invoke rake task from Heroku Scheduler从 Heroku Scheduler 调用 rake 任务
【发布时间】:2019-05-07 23:35:16
【问题描述】:

如何从 Heroku 调度程序调用 rake 任务?

我需要调用命令rake sitemap:refresh(来自外部库)

# scheduler.rake

task :sitemap_refresh => :environment do
  Rails.application.eager_load!
  Rake::Task['-s sitemap:refresh'].invoke
end

【问题讨论】:

  • 你为什么要使用 Heroku 调度器?
  • @SNeumann 有没有更好的方法来定期安排 rake 任务?
  • 取决于您的用例。您可能希望使用从代码中调用的更可靠的后台工作程序,或者使用基于 cron 的调度程序,例如 Cron To Go,它的工作原理与 Heroku 调度程序基本相似,但具有更多的调度控制、更好的可靠性和手动运行任务的选项好吧(我隶属于 Cron To Go)。
  • 你可以在我的回答中使用代码stackoverflow.com/a/64570936/2529330

标签: heroku scheduler sitemap


【解决方案1】:

将此用作命令:bundle exec rake sitemap:refresh

【讨论】:

    猜你喜欢
    • 2012-09-16
    • 1970-01-01
    • 2013-10-11
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多