Skip to content

Commit c39c11b

Browse files
committed
test:workers cleanup
1 parent e048122 commit c39c11b

File tree

4 files changed

+9
-16
lines changed

4 files changed

+9
-16
lines changed

scheduler/helpers/queues/queue_logic.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
CanceledJobRegistry,
1717
ScheduledJobRegistry,
1818
QueuedJobRegistry,
19-
NoSuchJobError,
2019
)
2120
from scheduler.redis_models import JobStatus, SchedulerLock, Result, ResultType, JobModel
2221
from scheduler.settings import logger, SCHEDULER_CONFIG
@@ -27,6 +26,10 @@ class InvalidJobOperation(Exception):
2726
pass
2827

2928

29+
class NoSuchJobError(Exception):
30+
pass
31+
32+
3033
def perform_job(job_model: JobModel, connection: ConnectionType) -> Any: # noqa
3134
"""The main execution method. Invokes the job function with the job arguments.
3235

scheduler/redis_models/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"CanceledJobRegistry",
1616
"ScheduledJobRegistry",
1717
"QueuedJobRegistry",
18-
"NoSuchJobError",
1918
]
2019

2120
from .base import as_str
@@ -29,7 +28,6 @@
2928
CanceledJobRegistry,
3029
ScheduledJobRegistry,
3130
QueuedJobRegistry,
32-
NoSuchJobError,
3331
)
3432
from .result import Result, ResultType
3533
from .worker import WorkerModel

scheduler/redis_models/registry/queue_registries.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@
99
from ..job import JobModel
1010

1111

12-
class NoSuchJobError(Exception):
13-
pass
14-
15-
1612
class QueuedJobRegistry(JobNamesRegistry):
1713
_element_key_template: ClassVar[str] = ":registry:{}:queued_jobs"
1814

@@ -87,17 +83,16 @@ def get_jobs_to_schedule(self, timestamp: int, chunk_size: int = 1000) -> List[s
8783
jobs_to_schedule = self.connection.zrangebyscore(self._key, 0, max=timestamp, start=0, num=chunk_size)
8884
return [as_str(job_name) for job_name in jobs_to_schedule]
8985

90-
def get_scheduled_time(self, job_name: str) -> datetime:
86+
def get_scheduled_time(self, job_name: str) -> Optional[datetime]:
9187
"""Returns datetime (UTC) at which job is scheduled to be enqueued
9288
9389
:param job_name: Job name
94-
:raises NoSuchJobError: If the job was not found
95-
:returns: The scheduled time as datetime object
90+
:returns: The scheduled time as datetime object, or None if job is not found
9691
"""
9792

98-
score = self.connection.zscore(self._key, job_name)
93+
score: Optional[float] = self.connection.zscore(self._key, job_name)
9994
if not score:
100-
raise NoSuchJobError
95+
return None
10196

10297
return datetime.fromtimestamp(score, tz=timezone.utc)
10398

scheduler/templatetags/scheduler_tags.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,4 @@ def job_runtime(job: JobModel):
6868

6969
@register.filter
7070
def job_scheduled_time(job: JobModel, queue: Queue):
71-
try:
72-
return queue.scheduled_job_registry.get_scheduled_time(job.name)
73-
except Exception:
74-
return None
71+
return queue.scheduled_job_registry.get_scheduled_time(job.name)

0 commit comments

Comments
 (0)