【问题标题】:Rails + Heroku :: rake task inside cron taskRails + Heroku :: cron 任务中的 rake 任务
【发布时间】:2011-12-03 21:21:00
【问题描述】:

问题

1) 在 Heroku 上运行 cron 任务时,Heroku 是否有时间限制,即 cron 任务只能持续 X 分钟,或者 cron 任务可以在完成处理所需的任何时间运行?

2) 为了优化我的应用程序,我想将所有处理转移到批处理模式。所以我有很多更新查询。基本上,一个 Heroku cron 文件越来越乱。我能做些什么来清理代码?我应该创建多个 rake 任务并从 cron 文件中调用任务任务吗?

2.1) 如果您同意这一点,那么我如何从 cron 任务中调用 rake 任务?假设有 3 个独立的 rake 任务 rake 帐户:计费,rake 帐户:collections,rake 帐户:cleanup。如何在 cron 文件中调用它们?

【问题讨论】:

    标签: heroku cron rake ruby-on-rails-3.1


    【解决方案1】:

    据我所知,没有任何时间限制。

    使用多个任务而不是一个大型 cron 任务是个好主意。当它们分开时不仅更易于调试和维护,而且您还可以在需要时轻松地单独运行它们。分解良好的代码本身就是一个好主意。

    从另一个任务执行一个任务就像Rake::Task[task].execute 一样简单。你会有这样的东西:

    desc 'Heroku cron job'
    task :cron => :environment do
        %w{accounts:billing accounts:collections accounts:cleanup}.each do |task|
            Rake::Task[task].execute
        end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-27
      • 2018-12-15
      • 2011-04-26
      • 2012-04-20
      • 1970-01-01
      • 2012-09-16
      • 2016-03-23
      • 2011-08-08
      相关资源
      最近更新 更多