redis-py icon indicating copy to clipboard operation
redis-py copied to clipboard

Add `command_timeout` to async client

Open Yard1 opened this issue 1 year ago • 0 comments

Pull Request check-list

Please make sure to review and check all of these items:

  • [ ] Do tests and lints pass with this change?
  • [ ] Do the CI tests pass with this change (enable it first in your forked repo and wait for the github action build to finish)?
  • [ ] Is the new or changed code fully tested?
  • [ ] Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?
  • [ ] Is there an example added to the examples folder (if applicable)?
  • [x] Was the change added to CHANGES file?

NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.

Description of change

Currently, socket_timeout is used as both the socket timeout and an asyncio-level timeout. However, if networking is unreliable, it may be preferable to set a shorter socket_timeout than the asyncio timeout - this would allow for the command to fail fast if socket is not receiving any data, but keep the command running if the connection is simply slow, or the amount of data is large.

Yard1 avatar Nov 15 '24 21:11 Yard1