不确定我是否正确行事。阅读:http://devcenter.heroku.com/articles/cron#frequently-asked-questions
如果我在Heroku上每24小时运行一次cron。它会每24小时运行def foo
和def 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。
答案 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