基本的には Getting Started な情報をまとめたものです。
詳細な情報は下記のページを確認してみると良いと思います。
https://github.com/mperham/sidekiq
http://mperham.github.io/sidekiq/
Setup
特に難しいことはない
Gemfileに gem 'sidekiq' を加えて bundle install
gem 'sidekiq'
$ bundle install
Example
- Workerを作成
app/workers/hard_worker.rb
class HardWorker
include Sidekiq::Worker
def perform(name, count)
puts 'Doing hard work'
end
end
- rails console からqueuingしてみる
$ bundle exec rails c
irb(main):001:0> HardWorker.perform_async('bob', 5)
=> "35de7d8207b94280f464b147"
- worker processを起動させる
$ bundle exec sidekiq
2013-04-18T09:43:27Z 58787 TID-oxwc6ymt8 HardWorker JID-35de7d8207b94280f464b147 INFO: start
Doing hard work # わかりづらいけれど、これがputsされた結果
もうちょっと詳しい Worker や Worker Process の設定は ここらへん
Monitoring / 管理画面
config/routes.rb
require 'sidekiq/web'
mount Sidekiq::Web => '/sidekiq'
devise 使ってて、Admin/AdminUser などのアカウントのログイン認証をかけたい場合はこんな感じ
config/routes.rb
require 'sidekiq/web'
authenticate :admin do
mount Sidekiq::Web => '/admin/sidekiq'
end
他の認証機構の場合は wikiのmonitoring を見ると良い
以下の作業は、2.11.0 以上の Sidekiq では必要ありません。
ja.ymlがgemに含まれるようになりました。
(@ogomr さんコメントありがとうございました)
それと、現時点(2.10.0)では ja の localeファイルが無いっぽいので、管理画面にアクセスしても translation missing error が出る。
そのため、sidekiq gem に含まれるファイルをコピーして使う
$ cp ./vendor/bundle/gems/sidekiq-x.x.x/web/locales/en.yml ./config/locales/sidekiq.ja.yml
config/locales/sidekiq.yml
- en:
+ ja: