tastyware/streaq:v5.2.0
What's Changed
- Do not install uvloop on Windows by @espdev in #71
- Use XAUTOCLAIM for timeout; separate out Lua; schedule option for StreaqRetry by @Graeme22 in #72
StreaqRetrycan now schedule retries at a specific time:raise StreaqRetry("Oh no!", schedule=datetime.now() + timedelta(hours=3))
- Idle task reclamation is now simpler and more robust, built on Redis'
XAUTOCLAIMcommand. Pessimistic execution guarantees are stronger: no setting of a per-task timeout is required, and long-running tasks can be retried much sooner upon failure. Credit goes to Christopher Schleiden for the idea of repeatedly callingXCLAIMfor running tasks, which resets their idle timeouts and allows for usingXAUTOCLAIMeven when tasks have varying durations. Overall, performance should be slightly improved and robustness as well. - Lua scripts for Redis are now contained in the
lua/directory as actual Lua files for easier reading and debugging. They've also been optimized and commented. - CI now uses uv for publishing to PyPI/TestPyPI
- The warning for no longer using the async context manager has been removed, as coredis version 6 may require async initialization of the Redis client, which would mean the async syntax would need to be restored.
Full Changelog: v5.1.0...v5.2.0