Skip to content

Commit 384e7fa

Browse files
committed
fix:formatting
1 parent 8140115 commit 384e7fa

File tree

14 files changed

+39
-88
lines changed

14 files changed

+39
-88
lines changed

scheduler/admin/task_admin.py

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,22 +48,12 @@ class TaskAdmin(admin.ModelAdmin):
4848
"""TaskAdmin admin view for all task models."""
4949

5050
class Media:
51-
js = (
52-
"admin/js/jquery.init.js",
53-
"admin/js/select-fields.js",
54-
)
51+
js = ("admin/js/jquery.init.js", "admin/js/select-fields.js")
5552

5653
save_on_top = True
5754
change_form_template = "admin/scheduler/change_form.html"
58-
actions = [
59-
"disable_selected",
60-
"enable_selected",
61-
"enqueue_job_now",
62-
]
63-
inlines = [
64-
JobArgInline,
65-
JobKwargInline,
66-
]
55+
actions = ["disable_selected", "enable_selected", "enqueue_job_now"]
56+
inlines = [JobArgInline, JobKwargInline]
6757
list_filter = ("enabled", "task_type", "queue")
6858
list_display = (
6959
"enabled",

scheduler/decorators.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
from typing import Any, Callable, Dict, Optional, Union, List
33

44
from scheduler.helpers.callback import Callback
5-
from scheduler.types import ConnectionType
5+
from scheduler.types import ConnectionType, FunctionReferenceType
66

77
JOB_METHODS_LIST: List[str] = list()
88

99

10-
class job:
10+
class _job:
1111
def __init__(
1212
self,
1313
queue: Union["Queue", str, None] = None, # noqa: F821
@@ -96,3 +96,21 @@ def delay(*args, **kwargs):
9696
JOB_METHODS_LIST.append(f"{f.__module__}.{f.__name__}")
9797
f.delay = delay
9898
return f
99+
100+
101+
def job(
102+
func_or_queue: Union[FunctionReferenceType, "Queue", str],
103+
*args: Any,
104+
**kwargs: Any,
105+
) -> _job:
106+
if callable(func_or_queue):
107+
func = func_or_queue
108+
queue_name: str = "default"
109+
else:
110+
func = None
111+
queue_name = func_or_queue
112+
113+
decorator = _job(queue_name, *args, **kwargs)
114+
if func:
115+
return decorator(func)
116+
return decorator

scheduler/helpers/queues/getters.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
from typing import Set
22

33
from scheduler.redis_models.worker import WorkerModel
4-
from scheduler.settings import (
5-
SCHEDULER_CONFIG,
6-
get_queue_names,
7-
get_queue_configuration,
8-
QueueConfiguration,
9-
logger,
10-
)
4+
from scheduler.settings import SCHEDULER_CONFIG, get_queue_names, get_queue_configuration, QueueConfiguration, logger
115
from scheduler.types import ConnectionErrorTypes, BrokerMetaData, Broker
126
from .queue_logic import Queue
137

scheduler/tests/test_mgmt_commands/test_import.py

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,7 @@ def test_import__should_schedule_job_reset(self):
7777
self.tmpfile.write(res)
7878
self.tmpfile.flush()
7979
# act
80-
call_command(
81-
"import",
82-
filename=self.tmpfile.name,
83-
reset=True,
84-
)
80+
call_command("import", filename=self.tmpfile.name, reset=True)
8581
# assert
8682
self.assertEqual(1, Task.objects.filter(task_type=TaskType.ONCE).count())
8783
db_job = Task.objects.filter(task_type=TaskType.ONCE).first()
@@ -102,11 +98,7 @@ def test_import__should_schedule_job_update_existing(self):
10298
self.tmpfile.write(res)
10399
self.tmpfile.flush()
104100
# act
105-
call_command(
106-
"import",
107-
filename=self.tmpfile.name,
108-
update=True,
109-
)
101+
call_command("import", filename=self.tmpfile.name, update=True)
110102
# assert
111103
self.assertEqual(2, Task.objects.filter(task_type=TaskType.ONCE).count())
112104
db_job = Task.objects.filter(task_type=TaskType.ONCE).get(name=tasks[0].name)
@@ -122,10 +114,7 @@ def test_import__should_schedule_job_without_update_existing(self):
122114
self.tmpfile.write(res)
123115
self.tmpfile.flush()
124116
# act
125-
call_command(
126-
"import",
127-
filename=self.tmpfile.name,
128-
)
117+
call_command("import", filename=self.tmpfile.name)
129118
# assert
130119
self.assertEqual(2, Task.objects.filter(task_type=TaskType.ONCE).count())
131120
db_job = Task.objects.get(name=tasks[0].name)

scheduler/tests/test_mgmt_commands/test_scheduler_worker.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,7 @@ def test_scheduler_worker__with_scheduler(self, mock_create_worker):
4747
# Create a worker to execute these jobs
4848
call_command("scheduler_worker", "default", "--burst")
4949
mock_create_worker.assert_called_once_with(
50-
"default",
51-
name=None,
52-
fork_job_execution=True,
53-
burst=True,
54-
with_scheduler=True,
50+
"default", name=None, fork_job_execution=True, burst=True, with_scheduler=True
5551
)
5652

5753
def test_scheduler_worker__run_jobs(self):

scheduler/tests/test_task_types/test_task_model.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,7 @@ def test_is_schedulable_disabled(self):
111111
self.assertFalse(task.enabled)
112112

113113
def test_schedule(self):
114-
task = task_factory(
115-
self.task_type,
116-
)
114+
task = task_factory(self.task_type)
117115
self.assertTrue(task.is_scheduled())
118116
self.assertIsNotNone(task.job_name)
119117

scheduler/tests/test_views/test_job_details.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ def test_scheduled_job_details(self):
4141

4242
url = reverse(
4343
"job_details",
44-
args=[
45-
job.name,
46-
],
44+
args=[job.name],
4745
)
4846
res = self.client.get(url, follow=True)
4947
self.assertIn("job", res.context)

scheduler/tests/test_views/test_queue_actions.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,7 @@ def test_job_list_action_delete_jobs__with_bad_next_url(self):
2121
# remove those jobs using view
2222
res = self.client.post(
2323
reverse("queue_job_actions", args=[queue.name]),
24-
{
25-
"action": "delete",
26-
"job_names": job_names,
27-
"next_url": "bad_url",
28-
},
24+
{"action": "delete", "job_names": job_names, "next_url": "bad_url"},
2925
follow=True,
3026
)
3127
assert_message_in_response(res, "Bad followup URL")
@@ -46,9 +42,7 @@ def test_job_list_action_delete_jobs(self):
4642

4743
# remove those jobs using view
4844
res = self.client.post(
49-
reverse("queue_job_actions", args=[queue.name]),
50-
{"action": "delete", "job_names": job_names},
51-
follow=True,
45+
reverse("queue_job_actions", args=[queue.name]), {"action": "delete", "job_names": job_names}, follow=True
5246
)
5347

5448
# check if jobs are removed

scheduler/tests/test_worker/test_scheduler.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,7 @@ def test_scheduler_schedules_tasks(self):
2727
self.assertNotIn(task.job_name, task.rqueue.queued_job_registry)
2828
self.assertIn(task.job_name, task.rqueue.scheduled_job_registry)
2929

30-
scheduler = WorkerScheduler(
31-
[
32-
task.rqueue,
33-
],
34-
worker_name="fake-worker",
35-
connection=task.rqueue.connection,
36-
)
30+
scheduler = WorkerScheduler([task.rqueue], worker_name="fake-worker", connection=task.rqueue.connection)
3731

3832
# act
3933
traveller.move_to(50)

scheduler/tests/testtools.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,7 @@ def task_factory(
7474
)
7575
)
7676
elif task_type == TaskType.CRON:
77-
values.update(
78-
dict(
79-
cron_string="0 0 * * *",
80-
)
81-
)
77+
values.update(dict(cron_string="0 0 * * *"))
8278
values.update(kwargs)
8379
if instance_only:
8480
instance = Task(task_type=task_type, **values)

scheduler/types/settings_types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class SchedulerConfiguration:
4040
DEFAULT_MAINTENANCE_TASK_INTERVAL: int = 10 * 60 # The interval to run maintenance tasks in seconds. 10 minutes.
4141
DEFAULT_JOB_MONITORING_INTERVAL: int = 30 # The interval to monitor jobs in seconds.
4242
SCHEDULER_FALLBACK_PERIOD_SECS: int = 120 # Period (secs) to wait before requiring to reacquire locks
43-
DEATH_PENALTY_CLASS: Type["BaseDeathPenalty"] = UnixSignalDeathPenalty
43+
DEATH_PENALTY_CLASS: Type[BaseDeathPenalty] = UnixSignalDeathPenalty
4444

4545

4646
@dataclass(slots=True, frozen=True, kw_only=True)

scheduler/views/__init__.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,5 @@
1616
from .job_views import job_detail, job_action
1717
from .queue_job_actions import queue_job_actions, queue_confirm_job_action
1818
from .queue_registry_actions import queue_registry_actions
19-
from .queue_views import (
20-
stats,
21-
stats_json,
22-
queue_workers,
23-
list_registry_jobs,
24-
get_statistics,
25-
)
19+
from .queue_views import stats, stats_json, queue_workers, list_registry_jobs, get_statistics
2620
from .worker_views import workers_list, worker_details

scheduler/worker/worker.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,7 @@
2222
from scheduler.redis_models import WorkerModel, JobModel, JobStatus, DequeueTimeout
2323
from scheduler.settings import SCHEDULER_CONFIG, logger, get_queue_configuration
2424
from scheduler.types import Broker, Self
25-
from scheduler.types import (
26-
ConnectionType,
27-
TimeoutErrorTypes,
28-
ConnectionErrorTypes,
29-
WatchErrorTypes,
30-
ResponseErrorTypes,
31-
)
25+
from scheduler.types import ConnectionType, TimeoutErrorTypes, ConnectionErrorTypes, WatchErrorTypes, ResponseErrorTypes
3226
from .commands import WorkerCommandsChannelListener
3327
from .scheduler import WorkerScheduler, SchedulerStatus
3428
from ..redis_models.lock import QueueLock
@@ -42,10 +36,7 @@
4236
from contextlib import suppress
4337

4438
from scheduler.helpers.queues import Queue, perform_job
45-
from scheduler.timeouts import (
46-
JobExecutionMonitorTimeoutException,
47-
JobTimeoutException,
48-
)
39+
from scheduler.timeouts import JobExecutionMonitorTimeoutException, JobTimeoutException
4940
from scheduler.helpers.utils import utcnow, current_timestamp
5041

5142
try:

testproject/testproject/settings.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import os
22

3-
43
from scheduler.types import QueueConfiguration
54

65
BROKER_PORT = os.getenv("BROKER_PORT", "6379")
@@ -23,7 +22,7 @@
2322
# SECURITY WARNING: don't run with debug turned on in production!
2423
DEBUG = True
2524

26-
ALLOWED_HOSTS = []
25+
ALLOWED_HOSTS = ["*"]
2726

2827
# Application definition
2928

0 commit comments

Comments
 (0)