rails 使用 whenever

rails whenever使用

参考:
https://github.com/javan/whenever 作者:javan javan / whenever
http://myrev.iteye.com/blog/830164 作者:myrev Rails3利用whenever gem调度发送邮件
http://asciicasts.com/episodes/164-cron-in-ruby  Cron in Ruby


whenever用于提供用户的定时任务,在linux下写crontab

1. 安装
  $ gem install whenever
  或在Gemfile中添加
  gem 'whenever', :require => false
 
2. 在项目目录下
$ cd ~/workspace/deploy
$ wheneverize .
输出:


[add] writing `./config/schedule.rb'
[done] wheneverized!

即创建 config/schedule.rb配置文件

3. 在schedule.rb中写入自己需要定时运行的任务:
如:
every 1.day do
    rake "log:clear"
end

4. 运行whenever命令,查看生成的crontab命令
$ whenever
=> 0 0 * * * /bin/bash -l -c 'cd /home/user01/workspace/deploy && RAILS_ENV=production rake log:clear --silent'

可以看到默认环境为生产环境

5. 写入到crontab中:
$ whenever -s environment=development -w /home/user01/workspace/deploy/config/schedule.rb
=> [write] crontab file written

其中environment后为项目运行环境,-w后为schedule.rb的默认路径

6. 更新crontab
$ whenever -i

7. 查看crontab
$ crontab -l

=>

Begin Whenever generated tasks for: /home/user01/workspace/deploy/config/schedule.rb
0 0 * * * /bin/bash -l -c 'cd /home/user01/workspace/deploy && RAILS_ENV=production rake log:clear --silent'
# End Whenever generated tasks for: /home/user01/workspace/deploy/config/schedule.rb


8.清除crontab为:
$ whenever -c

猜你喜欢

转载自luoping0425.iteye.com/blog/837007
今日推荐