whenever使用

  • 安装:
  gem 'whenever', :require => false
  • 生成config/schedule.rb文件
  wheneverize
  • config/schedule.rb中添加自己的周期性任务
    whenever为我们提供了三种方法:runnerrakecommand
every 1.day, at: '9:00 am' do
  rake 'dealer_daily_statistic:run'
end

every 30.minute do
  runner "Dealer.generate_income_record"
end
  • 执行周期性任务:
whenever -i 更新定时任务,将schedule.rb中的任务更新到cronjob中
whenever -w  执行周期性任务
crontab -l 查看任务

crontab -l 发现是production环境时,可以使用crontab -e直接修改为develop环境。
whenever -c 清除crontab



cron是一个在后台运行的守护进程,crontab是一个设置cron的工具,在unix类unix系统中用来实现周期性功能的指令。
cron每分钟做一次检查,判读哪个命令可以用。

whenever事实上是一个cron翻译器,他将rails中的ruby代码翻译成cron脚本,从而将周期性的任务交给cron来执行。whenever可以使用ruby语言来写周期性任务代码,在ruby层控制代码,而不需要与shell脚本进行切换。

你可能感兴趣的:(whenever使用)