我正确地在Heroku中运行我的cron任务吗?

时间:2011-08-10 15:53:03

标签: ruby-on-rails-3 cron heroku

不确定我是否正确行事。阅读:http://devcenter.heroku.com/articles/cron#frequently-asked-questions

如果我在Heroku上每24小时运行一次cron。它会每24小时运行def foodef bar吗?或者我应该用if Time.now.hour % 24== 0 # run every 24 hours包裹这两种方法吗?

desc "This task is called by the Heroku cron add-on"
task :cron => :environment do

  def foo
    puts 'foo'
  end

  deb bar
    puts 'bar'
  end

end

其次,如何在本地计算机上运行此cron作业(可能通过控制台或其他方法)?

PS。我在Cedar堆栈上运行Rails 3.1 RC5。

1 个答案:

答案 0 :(得分:2)

如果您将cron设置为“每日”,那么它将每24小时运行一次,没有必要在那里放置if语句。

要在本地运行cron任务,请执行rake cron

编辑:

你还需要调用你在那里定义的方法,因为你当前所有的cron都定义了foo和bar:

desc "This task is called by the Heroku cron add-on"
task :cron => :environment do

  def foo
    puts 'foo'
  end

  def bar
    puts 'bar'
  end

  foo
  bar

end