LoginSignup
20
20

More than 5 years have passed since last update.

Sidekiq gem クィックスタート

Last updated at Posted at 2013-04-18

基本的には Getting Started な情報をまとめたものです。
詳細な情報は下記のページを確認してみると良いと思います。

https://github.com/mperham/sidekiq
http://mperham.github.io/sidekiq/

Setup

特に難しいことはない
Gemfileに gem 'sidekiq' を加えて bundle install

gem 'sidekiq'
$ bundle install

Example

  1. Workerを作成
app/workers/hard_worker.rb
class HardWorker
  include Sidekiq::Worker

  def perform(name, count)
    puts 'Doing hard work'
  end
end
  1. rails console からqueuingしてみる
$ bundle exec rails c
irb(main):001:0> HardWorker.perform_async('bob', 5)
=> "35de7d8207b94280f464b147"
  1. 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:
20
20
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20