Skip to content

Commit c4ebe16

Browse files
committed
organized imports to make valkey optional
1 parent 3bc1094 commit c4ebe16

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

scheduler/views.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from math import ceil
33
from typing import Tuple, Optional
44

5-
import redis
65
from django.contrib import admin, messages
76
from django.contrib.admin.views.decorators import staff_member_required
87
from django.core.paginator import Paginator
@@ -14,11 +13,20 @@
1413
from django.views.decorators.cache import never_cache
1514
from redis.exceptions import ResponseError
1615

17-
from .queues import get_all_workers, get_connection, QueueNotFoundError
16+
17+
from .queues import get_all_workers, get_connection, QueueNotFoundError, ConnectionErrors
1818
from .queues import get_queue as get_queue_base
1919
from .rq_classes import JobExecution, DjangoWorker, DjangoQueue, InvalidJobOperation
2020
from .settings import SCHEDULER_CONFIG, logger
2121

22+
ResponseErrors = {ResponseError}
23+
24+
try:
25+
from valkey import exceptions
26+
ResponseErrors.add(exceptions.ResponseError)
27+
except ImportError:
28+
pass
29+
2230

2331
def get_queue(queue_name: str) -> DjangoQueue:
2432
try:
@@ -71,7 +79,7 @@ def get_statistics(run_maintenance_tasks=False):
7179
if run_maintenance_tasks:
7280
queue.clean_registries()
7381

74-
# Raw access to the first item from left of the redis list.
82+
# Raw access to the first item from left of the broker list.
7583
# This might not be accurate since new job can be added from the left
7684
# with `at_front` parameters.
7785
# Ideally rq should supports Queue.oldest_job
@@ -102,7 +110,7 @@ def get_statistics(run_maintenance_tasks=False):
102110
canceled_jobs=len(queue.canceled_job_registry),
103111
)
104112
queues.append(queue_data)
105-
except redis.ConnectionError as e:
113+
except ConnectionErrors as e:
106114
logger.error(f"Could not connect for queue {queue_name}: {e}")
107115
continue
108116

@@ -277,7 +285,7 @@ def clear_queue_registry(request: HttpRequest, queue_name: str, registry_name: s
277285
for job_id in job_ids:
278286
registry.remove(job_id, delete_job=True)
279287
messages.info(request, f"You have successfully cleared the {registry_name} jobs in queue {queue.name}")
280-
except ResponseError as e:
288+
except ResponseErrors as e:
281289
messages.error(
282290
request,
283291
f"error: {e}",

0 commit comments

Comments
 (0)