---
title: Decide whether the league platform adopts one unified job queue
type: task
status: planned
description: >-
  Test the operator's BullMQ single-queue design against the four existing job mechanisms and their
  two hard cases, then recommend adopt or decline. Nothing is blocked on it.
base_uri: user:task/league/decide-unified-league-job-queue.md
created_at: '2026-09-30T05:59:33.779Z'
entity_id: ecb46395-827c-49d4-bdfa-53ef5bd710ec
owner_identity_uri: █████████████████████████
priority: Low
public_read: true
tags:
  - user:tag/league-xo-football.md
updated_at: '2026-10-03T03:09:03.341Z'
visibility_analyzed_at: '2026-11-05T23:49:05.968Z'
---

# Decide whether the league platform adopts one unified job queue

The operator's stated starting design is one redis-based BullMQ queue with tags and multiple queues, replacing today's four mechanisms (pm2 pollers, crontab, the never-used `ExternalLeagueSyncQueue`, and the `jobs` reporting ledger). This is a design decision to test against what exists, not a build order.

## Plan

- [ ] Test the BullMQ design against the two hard cases (derived-state projection-cache refresh, and the progress-and-cancel sync queue) and cross-host redis reachability, then recommend adopt or decline to the operator — [[████████████████████████-██-██████████████-███████-███-████████]]
- [ ] If adopted, scope the first migration of an existing working job rather than a parallel third mechanism

## Notes

Nothing is blocked on this. Note that the league host moved during [[████████████████████████-██████-██████████]], so the 2026-08-09 redis reachability measurements must be re-derived.
