你如何将一个单独的Ruby程序转换为rake任务?

时间:2014-02-06 23:35:27

标签: ruby-on-rails

对于看似基本的问题感到抱歉,但我很难过。

我有一个Rails应用程序,它部分依赖于我定期(通常每天)下载并集成到应用程序数据库中的第三方数据。我用来获取第三方数据的Ruby代码是在单独的Ruby文件中,即没有作为代码集成到我的任何控制器中。因此,我在需要时通过rails runner program.rb运行这些程序(可能不相关,但所有这些程序都使用mechanize gem来收集第三方数据)。

我想尝试使用Heroku的调度程序来使我的数据收集更加自动化,并且建议这样做是为了设置rake任务。是否有rails runner program.rb等效的佣金任务?

谢谢

1 个答案:

答案 0 :(得分:0)

就将rails命令转换为rake任务而言,它非常简单,你只需将它命名为:

# /lib/tasks/my_task.rake
namespace :mytask do

  desc 'the description of your task'
  task :my_task => :environment do
    puts 'my task was executed'
  end
end

然后你用“耙mytask:my_task'”来调用它。稍后,您应该可以使用Heroku的调度程序。我也想推荐“随时随地”。因为我没有使用Heroku的经验,但是发现宝石太棒了,宝石可以按计划进行设置。