fix: atomic create/update and mget list #6

Merged
jason.woltje merged 1 commits from fix/atomic-and-list-perf into main 2026-03-06 19:05:19 +00:00
Owner

Fixes mosaic/queue#4

  • create(): SET NX + SADD wrapped in WATCH/MULTI/EXEC — atomic, crash-safe
  • list(): replaced N+1 GET calls with single mget pipeline
  • update(): routed through mutateTaskAtomically with status transition guard
  • mget() added to RedisTaskClient interface
  • Tests: concurrent create race, concurrent update race, list with mget
Fixes mosaic/queue#4 - create(): SET NX + SADD wrapped in WATCH/MULTI/EXEC — atomic, crash-safe - list(): replaced N+1 GET calls with single mget pipeline - update(): routed through mutateTaskAtomically with status transition guard - mget() added to RedisTaskClient interface - Tests: concurrent create race, concurrent update race, list with mget
jason.woltje added 1 commit 2026-03-06 19:05:13 +00:00
jason.woltje merged commit 13536c6472 into main 2026-03-06 19:05:19 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/queue#6