我是 Rails 的新手,我第一次想使用 Heroku Scheduler 在我的 Rails 应用程序中运行定期任务。按照教程中的建议,我在 /lib/tasks/scheduler.rake 中创建了以下 rake 任务
desc "This task is called by the Heroku scheduler add-on"
task :auto_results => :environment do
puts "Updating results..."
@cups = Cup.all
@cups.each do |cup|
cup.fix_current_results
end
puts "done."
end
task :update_game_dates => :environment do
puts "Updating game dates..."
@cups = Cup.all
@cups.each do |cup|
cup.update_game_dates
end
puts "done."
end
该任务在我的本地环境中运行良好,但在推送到 Heroku 并运行该任务后,每个都中止并出现以下错误:
rake aborted!
undefined method `name' for nil:NilClass
对我来说,Heroku 似乎无法访问数据库,因此无法恢复它可以执行方法的对象。
任何人的想法?