この記事は、Getting Started - github.com/mperham/sidekiqの翻訳です。
Sidekiqを使い始める
最新バージョン 2019-07-17 編集者 taki
Sidekiqは、最新のRailsアプリケーションでできるだけ簡単に使用できるよう、あらゆる努力を払っています。SidekiqをActive Jobで使用する場合は、Active Jobのページをご覧になってください。
Rails
- Gemfileにsidekiqを追加する。
gem ‘sidekiq'
- ワーカークラスを
app/workers
に追加する。
rails g sidekiq:worker Hard # will create app/workers/hard_worker.rb
class HardWorker
include Sidekiq::Worker
def perform(name, count)
# do something
end
end
- ジョブを作成する。
HardWorker.perform_async('bob', 5)
perform
はインスタンスメソッドであるのに対し、perform_async
はクラスメソッドであることに注意してください。
決められた時刻に実行を開始するジョブを作成することもできます。
HardWorker.perform_in(5.minutes, 'bob', 5)
HardWorker.perform_at(5.minutes.from_now, 'bob', 5)
Railsコンソールで試している場合は、Springを停止する必要があるかもしれません。
- SidekiqをRailsアプリケーションのルートディレクトリから実行する。
bundle exec sidekiq
これで完了です。もしワーカー内でActive Recordを利用する場合は、Active Recordのプールサイズを調整する必要があるかもしれません。詳細は高度なオプションをご覧になってください。
Plain Ruby
examplesフォルダ にRails以外からSidekiqを利用するためのいくつかのサンプルコードがあります。 por.rb
は "Plain Old Ruby" のためのサンプルです。そして、 sinkiq.rb
SinatraからSidekiqを利用するためのサンプルです。
Sidekiqの概要を動画でもご覧になってください。