Clockwork實作
- 步驟1:安裝clockwork,在Gamfile中新增以下指令後,執行bundle install
gem 'clockwork'
- 步驟2:在Project目錄下新增排程控制檔,本範例中的檔名是clock.rb。排程的方式可以by 秒、分、時、日,也可以指定特定起始時間。
require 'clockwork' require './config/boot' require './config/environment' module Clockwork handler do |job, time| puts "Running #{job}, at #{time}" "#{job}".constantize.perform_later end every(10.seconds, 'TestJob') # every(3.minutes, 'less.frequent.job') # every(1.hour, 'hourly.job') # every(1.day, 'midnight.job', :at => '00:00') end
- 步驟3:在Terminal下執行,要注意的是如果有跟sidekiq搭配的話,sidekiq也要開啟
clockwork clock.rb
Clockwork執行結果
左邊的是Clockwork右邊的是Sidekiq,可以看出Clockwork在每過10秒便會送出一個Job Request給Sidekiq進行處理,範例中經過了20秒,共送出兩次TestJob給Sidekiq。
沒有留言:
張貼留言