Skip to content

Commit 2ad5da9

Browse files
committed
organized imports to make valkey optional
1 parent 75e4828 commit 2ad5da9

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

scheduler/views.py

Lines changed: 11 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,7 +13,14 @@
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+
ResponseErrors = {ResponseError}
17+
try:
18+
from valkey import exceptions
19+
ResponseErrors.add(exceptions.ResponseError)
20+
except ImportError:
21+
pass
22+
23+
from .queues import get_all_workers, get_connection, QueueNotFoundError, ConnectionErrors
1824
from .queues import get_queue as get_queue_base
1925
from .rq_classes import JobExecution, DjangoWorker, DjangoQueue, InvalidJobOperation
2026
from .settings import SCHEDULER_CONFIG, logger
@@ -71,7 +77,7 @@ def get_statistics(run_maintenance_tasks=False):
7177
if run_maintenance_tasks:
7278
queue.clean_registries()
7379

74-
# Raw access to the first item from left of the redis list.
80+
# Raw access to the first item from left of the broker list.
7581
# This might not be accurate since new job can be added from the left
7682
# with `at_front` parameters.
7783
# Ideally rq should supports Queue.oldest_job
@@ -102,7 +108,7 @@ def get_statistics(run_maintenance_tasks=False):
102108
canceled_jobs=len(queue.canceled_job_registry),
103109
)
104110
queues.append(queue_data)
105-
except redis.ConnectionError as e:
111+
except ConnectionErrors as e:
106112
logger.error(f"Could not connect for queue {queue_name}: {e}")
107113
continue
108114

@@ -277,7 +283,7 @@ def clear_queue_registry(request: HttpRequest, queue_name: str, registry_name: s
277283
for job_id in job_ids:
278284
registry.remove(job_id, delete_job=True)
279285
messages.info(request, f"You have successfully cleared the {registry_name} jobs in queue {queue.name}")
280-
except ResponseError as e:
286+
except ResponseErrors as e:
281287
messages.error(
282288
request,
283289
f"error: {e}",

0 commit comments

Comments
 (0)