読者です 読者をやめる 読者になる 読者になる

まっしろけっけ

めもてきなやーつ

sidekiqを2から3にupgradeしたときにしたこと

最近rails applicationで使用しているsidekiqを2から3にupgradeしたのでその際にやったことをメモ

Gemfile更新

まずGemfileを変更します。
Capistranoでのdeployを行っているのでcapistrano-sidekiqも追加します。
※version指定はそれぞれの方針で行ってください。

- gem 'sidekiq', '~>2.0'
+ gem 'sidekiq', '~>3.0'
+ gem 'capistrano-sidekiq' # 3系から別gemに切り出された模様

実際に更新してみる。

$ cd rails_root
$ bundle update sidekiq

deploy.rbを変更

capistrano関連が別gemになったのでrequireするパスを変更する

- require 'sidekiq/capistrano'
+ require 'capistrano/sidekiq'

おまけ(generator)

基本的には上記の変更で簡単にupgrade出来ると思います。
おまけとしてv3.2.2から追加されたgeneratorの使い方を紹介

$ cs rails_root
$ rails g sidekiq:worker User # Userは作成したいworker名
      create  app/workers/user_worker.rb
      create  test/workers/user_test.rb
$ more app/workers/user_worker.rb
class UserWorker
  include Sidekiq::Worker

  def perform(*args)
    # Do something
  end
end
$ more test/workers/user_test.rb 
require_relative 'test_helper'
class UserWorkerTest < MiniTest::Unit::TestCase
    def test_example
      skip "add some examples to (or delete) #{__FILE__}"
    end
end
$ rails g sidekiq:worker HogeHoge
      create  app/workers/hoge_hoge_worker.rb
      create  test/workers/hoge_hoge_test.rb

Rspecをrequireしていればrspec用のテストファイルが作成されるみたいです。