Skip to content

Dragonfly への接続が有効になったことで表に出た、キューの接続とジョブ ID の問題 #281

Closed

Description

@sasagar

#274 で DRAGONFLY_URL が読まれるようになり、キャッシュと BullMQ が実際に Dragonfly へ接続するようになりました。それに伴い、これまで隠れていた問題が表に出ました(/code-review の指摘より)。

  1. 再接続をあきらめる: ActivityDeliveryQueue の retryStrategy は 3 回(約 0.6 秒)で再接続をやめます。Dragonfly が再起動すると、ワーカーはプロセスを再起動するまで止まったままになります。
  2. 起動時の競合: 最初の接続エラーで、キューとキャッシュがプロセスが終わるまで無効になります(compose は depends_on: service_started だけ)。
  3. ジョブ ID: 32 ビットのハッシュを base36 にしているため、別々の配信が同じ ID になると後のほうが捨てられます。また ID が数字だけになると、BullMQ に拒否されます。
  4. compose の --cache_mode=true: メモリが上限に達すると、BullMQ のキーも追い出されます。
  5. .env.example の REDIS_URL=redis://localhost:6379: 優先順位が高いため、.env を例からコピーした環境では compose の DRAGONFLY_URL が無視されます。
  6. 接続設定の重複: Redis の接続先 URL を決める処理と protocol: 2 の設定が、2 つのファイルに重複しています。
  7. 不要な依存: @simplewebauthn/types ^12 が残っています(@simplewebauthn/server v14 が同じ型を export しています)。

https://claude.ai/code/session_01Y29fBeRP344FME6de48wUv

Activity

  1. github-actions commented on Oct 14, 2026

    @github-actions

    Closed by #284 (merged to dev).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions