Skip to content

feat(queue): Phase 2B — Redis-backed Queue (Push, BlockingPop, Depth) - #2

Merged
smallchungus merged 2 commits into
mainfrom
phase-2b-redis-queue
Apr 18, 2026
Merged

feat(queue): Phase 2B — Redis-backed Queue (Push, BlockingPop, Depth)#2
smallchungus merged 2 commits into
mainfrom
phase-2b-redis-queue

Conversation

@smallchungus

Copy link
Copy Markdown
Owner

Summary

Phase 2B of the queue: ephemeral hand-off layer.

  • internal/queue wraps *goredis.Client.
  • Methods:
    • Push(ctx, stage, jobID)LPUSH queue:<stage> <jobID>
    • BlockingPop(ctx, stage, timeout)BRPOP queue:<stage>. FIFO ordering paired with LPush. Returns ErrEmpty on timeout.
    • Depth(ctx, stage)LLEN queue:<stage>
  • 4 integration tests against real Redis via testcontainers-go.

Worker logic, claim semantics, and the heartbeat sweeper land in 2C / 2D.

Test plan

  • make lint (0 issues)
  • make test-unit
  • make test-integration (4 queue + 9 store + 1 api router + 2 testutil = 16 integration tests passing)
  • make k8s-validate
  • CI green

@smallchungus
smallchungus merged commit 1e27ba8 into main Apr 18, 2026
3 checks passed
@smallchungus
smallchungus deleted the phase-2b-redis-queue branch April 18, 2026 00:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant