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脚本进行切换。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容