ruby on rails 里使用SideKiq 做后台任務


環境:ubuntu14.4,ruby2.1.5, rails4.2

一、新一個rais項目:rails new active_job --skip-bundle

      進入項目文件夾: cd active_job

  打開Gemfile文件:vim Gemfile

  把source 'https://rubygems.org'改為source 'https://ruby.taobao.org',在文件里加入:gem 'sidekiq'

  然后運行:bundle install

二、安裝redis-server: sudo apt-get install redis-server

  redis-cli進入redis,運行ping

  PONG說明安裝成功。

三、試一下sidekiq

  運行sidekiq, 進入任務監控頁面

  會出現下圖:

  

 

四、測試:

  新建job: rails g job restJob

  會在app/jobs文件夾下產生文件rest_job.rb,打開這個文件: vim rest_job.rb,修改perform方法,這里作為測試添加 puts "SideKiq 測試", 保存退出。

  在config/application.rb里面添加: config.active_job.queue_adapter = :sidekiq

  Rails Console進行測試: rails c

  輸入:RestJob.set(wait: 1.minutes).perform_later   

  這里設置為1分鍾后執行,如果沒有報錯,說明任務已經添加成功。

  如圖:  

  1分鍾后會在sidekiq的監視窗口里看到輸入的“SideKiq 測試”:

  

  

 到此說明運行一切正常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM