PerlerのRuby日記

Rubyとか

SidekiqのWorkerクラス内でJobIDを知る

Sidekiq::Workerをincludeして使っているクラス内のperformメソッド内で自分のJobIDを知るには、self.jidで取れる。

class MyWorker
  include Sidekiq::Worker

  def perform
    job_id = self.jid
    puts job_id
    # some codes
  end
end

job_id = MyWorker.perform_async


なので、Sidekiqに登録したJobIDを、そのままworkerの処理結果のキーとして使えば結果の取得が簡単だ。