mirror of
https://github.com/ansible/awx.git
synced 2026-02-18 11:40:05 -03:30
AAP-57817 Add Redis connection retry using redis-py 7.0+ built-in (#16176)
* AAP-57817 Add Redis connection retry using redis-py 7.0+ built-in mechanism * Refactor Redis client helpers to use settings and eliminate code duplication * Create awx/main/utils/redis.py and move Redis client functions to avoid circular imports * Fix subsystem_metrics to share Redis connection pool between client and pipeline * Cache Redis clients in RelayConsumer and RelayWebsocketStatsManager to avoid creating new connection pools on every call * Add cap and base config * Add Redis retry logic with exponential backoff to handle connection failures during long-running operations * Add REDIS_BACKOFF_CAP and REDIS_BACKOFF_BASE settings to allow adjustment of retry timing in worst-case scenarios without code changes * Simplify Redis retry tests by removing unnecessary reload logic
This commit is contained in:
@@ -56,7 +56,7 @@ pyyaml>=6.0.2 # require packing fix for cython 3 or higher
|
||||
pyzstd # otel collector log file compression library
|
||||
receptorctl
|
||||
sqlparse>=0.4.4 # Required by django https://github.com/ansible/awx/security/dependabot/96
|
||||
redis[hiredis]
|
||||
redis[hiredis]>=7.0 # requires 7.0+ for retry functionality on connection errors
|
||||
requests
|
||||
slack-sdk
|
||||
twilio
|
||||
|
||||
@@ -433,7 +433,7 @@ pyzstd==0.18.0
|
||||
# via -r /awx_devel/requirements/requirements.in
|
||||
receptorctl==1.6.0
|
||||
# via -r /awx_devel/requirements/requirements.in
|
||||
redis[hiredis]==6.4.0
|
||||
redis[hiredis]==7.0.1
|
||||
# via
|
||||
# -r /awx_devel/requirements/requirements.in
|
||||
# channels-redis
|
||||
|
||||
Reference in New Issue
Block a user