rails 使用 rufus-scheduler 做定时任务
rufus-scheduler的github网址:https://github.com/jmettraux/rufus-scheduler
cron语法参考:
https://blog.csdn.net/wh13267207590/article/details/80095128
https://blog.csdn.net/m0_73696717/article/details/127531455
文章参考:https://blog.csdn.net/TomorrowAndTuture/article/details/112233016
1.在 Gemfile中加入依赖,再执行 bundle install
gem "rufus-scheduler" # 定时器
2.在 config/initializers 中创建 定时任务文件 my_task.rb
require 'rubygems'
require 'rufus/scheduler'
scheduler = Rufus::Scheduler.new
# scheduler.in '20m' do
# # after 20 minutes
# puts "hello world 1"
# end
#
# scheduler.at 'Thu Mar 26 07:31:43 +0900 2009' do
# # at the appointed time
# puts 'hello world 2'
# end
#
# scheduler.cron '0 22 * * 1-5' do
# # every day of the week at 22:00 (10pm)
# puts 'hello world 3'
# end
scheduler.every '10s' do
# every 5 minutes
puts 'hello world 10'
ScheduleHelper.schedule_task
end
# scheduler.join # 加了这行 ,项目就启动不起来,一直卡在定时任务上;直接运行脚本,加上 scheduler.join 才会生效
3.启动rails项目即可

浙公网安备 33010602011771号