Skip to content

Commit 7448938

Browse files
committed
organized imports to make valkey optional
1 parent e60f40f commit 7448938

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

scheduler/views.py

Lines changed: 14 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,12 +13,22 @@
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

2222

23+
try:
24+
from valkey import exceptions
25+
except ImportError:
26+
exceptions = ""
27+
exceptions.ResponseError = ResponseError
28+
29+
ResponseErrors = (ResponseError, exceptions.ResponseError)
30+
31+
2332
def get_queue(queue_name: str) -> DjangoQueue:
2433
try:
2534
return get_queue_base(queue_name)
@@ -71,7 +80,7 @@ def get_statistics(run_maintenance_tasks=False):
7180
if run_maintenance_tasks:
7281
queue.clean_registries()
7382

74-
# Raw access to the first item from left of the redis list.
83+
# Raw access to the first item from left of the broker list.
7584
# This might not be accurate since new job can be added from the left
7685
# with `at_front` parameters.
7786
# Ideally rq should supports Queue.oldest_job
@@ -102,7 +111,7 @@ def get_statistics(run_maintenance_tasks=False):
102111
canceled_jobs=len(queue.canceled_job_registry),
103112
)
104113
queues.append(queue_data)
105-
except redis.ConnectionError as e:
114+
except ConnectionErrors as e:
106115
logger.error(f"Could not connect for queue {queue_name}: {e}")
107116
continue
108117

@@ -277,7 +286,7 @@ def clear_queue_registry(request: HttpRequest, queue_name: str, registry_name: s
277286
for job_id in job_ids:
278287
registry.remove(job_id, delete_job=True)
279288
messages.info(request, f"You have successfully cleared the {registry_name} jobs in queue {queue.name}")
280-
except ResponseError as e:
289+
except ResponseErrors as e:
281290
messages.error(
282291
request,
283292
f"error: {e}",

0 commit comments

Comments
 (0)