rails 使用whenever定时器实现周期性任务

1.首先在Gemfile文件添加

gem 'whenever', :require => false

2.然后执行命令生成config/schedule.rb文件 

wheneverize

3.在config/schedule.rb文件中添加自己要定时执行的任务

#每天凌晨4点执行任务,am表示晚上12点到中午12点,pm表示中午12点到晚上12点。   

#every 1.day, :at=>'4:00 am' do
#     runner 'AppNotificationsHelper.issuenotification'
# end

#每2分钟执行一次任务   

every 2.minutes do
       runner 'AppNotificationsHelper.issuenotification'
   end
 

 

 runner方法执行的方法如下:

module AppNotificationsHelper

#加self,不加会报错 

def self.issuenotification

     #自己方法里面的逻辑
end

end
 

 4.执行命令,更新schedule.rb中的任务到cronjob中

whenever -i 

执行完命令后系统会有提示:[write] crontab file updated

5.执行周期性任务

whenever -w

6.查看我们的任务 

crontab -l

系统会打印:

出现这样的打印则说明定时任务成功开启了(如果你定时执行的方法没有写错的话)

7.使用命令crontab -e可以查看和修改crontab的环境。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章