Docker 開発環境で Zeitwerk を使用した後の Sidekiq の起動失敗

はい、ここで何が起こったか分かります。私のミスです。Zeitwerk の自動ローダーを使用しているため、多くの require_dependency が不要になったので削除しました。

しかし、application.rb には以下のような記述があります。

if !Sidekiq.server?
  config.autoload_paths += Dir["#{config.root}/lib"]
end

つまり、Sidekiq は依存関係を見つけるために lib ディレクトリを検索しておらず、特定のファイルで明示的に必要なものを定義しています。

Sidekiq で使用されるファイルに対して require_dependency を復活させるか、application.rb のガード条件を削除するか、どちらかを選ぶことができます。

おそらく、ワーカーのメモリ使用量を節約するために明示的な require を使用していたのでしょう。その方針に従うのが適切だと考えます。require_dependency を復活させます。

@sam どのようにお考えですか?