Sidekiq Job or Worker?

sidekiq においてJobなのかWorkerなのかという議論があるようだ。

Rename Sidekiq::Worker to Sidekiq::Job · Discussion #4971 · mperham/sidekiq

個人的には、下記Wikiにも書いてあるとおり worker という概念が曖昧になりがちな概念なので1つ1つのクラスとしてはJobと表現したほうが好み。

そのほうがRails標準のActiveJobとも同列な概念として扱えるし。

Within the Sidekiq ecosystem, the term worker is ambiguous and thus meaningless.

  • Sidekiq::Job is a module included in a job class.
  • If you have 10 “workers” executing jobs, you have 10 threads.
  • If you start a “worker”, you have a process.
  • If you have 10 “workers” enqueued, you have 10 jobs.

ref. Best Practices · mperham/sidekiq Wiki

追記(2024-06-21)

基本的には worker という言葉は使わない方向で決着したっぽい。

Dump “worker” from your vocabulary.

ref. Best Practices · mperham/sidekiq Wiki

rails gで生成される sidekiq のジョブ例:

# app/sidekiq/test_job.rb
class TestJob
  include Sidekiq::Job

  def perform(*args)
  end
end

思うは招く

下記の植松電機社長のTEDトークがたいへん良かった。