Skip to content

Use XREADGROUP MAXCOUNT/CLAIM when available; zuban for type checking - #174

Open
Graeme22 wants to merge 1 commit into
masterfrom
v7.2
Open

Use XREADGROUP MAXCOUNT/CLAIM when available; zuban for type checking#174
Graeme22 wants to merge 1 commit into
masterfrom
v7.2

Conversation

@Graeme22

@Graeme22 Graeme22 commented Aug 7, 2026

Copy link
Copy Markdown
Member

Description

  • Add performance improvements available to Redis 8.10+ users (replace
    expensive read_streams Lua script with a single XREADGROUP call with CLAIM and MAXCOUNT args.)
  • Run tests across various Redis versions
  • Switch to zuban for type checking, use both default and mypy modes
  • Refactor Lua to avoid atomic updates of multiple streams which can
    cause unpredictability together with XREADGROUP COUNT
  • Remove streaq.utils.gather (in anyio >= 4.15.0)
  • Update ruff to v0.16.0 and adopt new default lint rules
  • Remove Worker.__slots__

Pending: zuban release, coredis release

Pre-merge checklist

  • Code formatted correctly (check with make lint)
  • Passing tests locally (check with make test)
  • New tests added (if applicable)
  • Docs updated (if applicable)

; add different Redis versions to test matrix

- Add performance improvements available to Redis 8.10+ users (replace
  expensive `read_streams` Lua script with a single XREADGROUP call)
- Run tests across various Redis versions
- Switch to zuban for type checking, use both default and mypy modes
- Remove `streaq.utils.gather`
- Update ruff to v0.16.0 and adopt new default lint rules
- Refactor Lua to avoid atomic updates of multiple streams which can
  cause unpredictability together with XREADGROUP COUNT
- Remove `Worker.__slots__`

Pending: zuban bug fix (zubanls/zuban#524), new coredis release
Nice to have: anyio gather impl (agronholm/anyio#1173)
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