在Rails中,如何每24小时自动运行一个命令列表?

时间:2015-03-06 20:40:07

标签: ruby-on-rails

我有一个后端Rails JSON API。

每隔X小时,我想清除一些数据。

所以我需要每X小时运行一些命令。

如何在Rails中实现这一目标?

2 个答案:

答案 0 :(得分:3)

  

Whenever是一个Ruby gem,为编写和部署cron作业提供了清晰的语法。

将cron作业写入cron选项卡文件是一种简单的方法,该文件稍后由系统执行。它为您提供了一个很好的DSL来安排您的任务。

假设您希望每24小时运行一次test YourModel行动,那么您将会这样做:

your_model.rb

def test
    # Do Something...
end

schedule.rb

every 24.hours do
  runner 'YourModel.test'
end

您需要在项目上运行以下命令来创建crontab:

whenever -i

答案 1 :(得分:2)

您可以随时使用此gem(https://github.com/javan/whenever),这将帮助您使用crontab管理计划。