個人開発のWebアプリ**「まちかどルート」をRails 6.0**にアップグレード。
以下、そのときの体験メモです。
Sidekiqの「待機状態」に
このアプリでは、画像のアップローダーとしてRailsのActive Storageを使っています。また、バックグラウンドジョブをさばくActive JobのアダプターはSidekiqです。
Rails 6.0にアップグレードしてからというもの、画像をアップロードしたり削除するたびにSidekiqのダッシュボードにある「待機状態」のカウント数が増えていくことに気づきました。その中身を見てみるとactive_storage_analysis
とactive_storage_purge
というジョブ群でした。
不具合を誘発
以前にまとめた、この機能が動かなくなりました。
【Rails】Active Storage + S3 + Active JobでGoogle Cloud Visionセーフサーチ
https://qiita.com/west2538/items/e94db445e22e6151718d
解決策
どうやらsidekiq.yml
にこれらのジョブを追記する必要があったようです。
config/sidekiq.yml
:verbose: false
:concurrency: 5
:max_retries: 3
:timeout: 8
:queues:
- [default, 7]
- [second, 5]
- [active_storage_analysis, 3] # 追記
- [active_storage_purge, 1] # 追記
おかげで「待機状態」でジョブが滞ることなく正常にアプリが稼働するようになりました。