Skip to content

Commit 8fbc4b8

Browse files
committed
Merge branch 'v2'
# Conflicts: # docs/changelog.md # poetry.lock # pyproject.toml # scheduler/models/old_scheduled_task.py # scheduler/tests/test_old_models/test_old_repeatable_task.py
2 parents 2820b8a + 0e63c62 commit 8fbc4b8

File tree

4 files changed

+10
-9
lines changed

4 files changed

+10
-9
lines changed

docs/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
### 🐛 Bug Fixes
1919

2020
- Support for valkey sentinel configuration @amirreza8002 (#191)
21+
- Fix issue with task being scheduled despite being already scheduled #202
2122

2223
## v2.1.0 🌈
2324

scheduler/rq_classes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ def reschedule_all_jobs():
267267
for model_name in MODEL_NAMES:
268268
model = apps.get_model(app_label="scheduler", model_name=model_name)
269269
enabled_jobs = model.objects.filter(enabled=True)
270-
unscheduled_jobs = filter(lambda j: j.ready_for_schedule(), enabled_jobs)
270+
unscheduled_jobs = filter(lambda j: j._ready_for_schedule(), enabled_jobs)
271271
for item in unscheduled_jobs:
272272
logger.debug(f"Rescheduling {str(item)}")
273273
item.save()

scheduler/tests/test_old_models/test_old_repeatable_task.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,12 @@ def test_repeat_old_job_remaining(self):
150150

151151
def test_repeat_none_interval_2_min(self):
152152
base_time = timezone.now()
153-
job = old_task_factory(self.TaskModelClass, scheduled_time=base_time - timedelta(minutes=29), repeat=None)
154-
job.interval = 120
155-
job.interval_unit = "seconds"
156-
job.schedule()
157-
self.assertTrue(job.scheduled_time > base_time)
158-
self.assertTrue(job.is_scheduled())
153+
task = old_task_factory(self.TaskModelClass, scheduled_time=base_time - timedelta(minutes=29), repeat=None)
154+
task.interval = 120
155+
task.interval_unit = "seconds"
156+
task.schedule()
157+
self.assertTrue(task.scheduled_time > base_time)
158+
self.assertTrue(task.is_scheduled())
159159

160160
def test_check_rescheduled_after_execution(self):
161161
task = old_task_factory(self.TaskModelClass, scheduled_time=timezone.now() + timedelta(seconds=1), repeat=10)

scheduler/tests/test_old_models/test_old_task_model.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def test_is_schedulable_already_scheduled(self):
9696
task = old_task_factory(
9797
self.TaskModelClass,
9898
)
99-
task.schedule()
99+
task.save(schedule_job=True)
100100
self.assertTrue(task.is_scheduled())
101101

102102
def test_is_schedulable_disabled(self):
@@ -151,7 +151,7 @@ def test_schedule2(self):
151151
task.queue = list(settings.QUEUES)[0]
152152
task.enabled = False
153153
task.scheduled_time = timezone.now() + timedelta(minutes=1)
154-
self.assertFalse(task.schedule())
154+
self.assertFalse(task._schedule())
155155

156156
def test_delete_and_unschedule(self):
157157
task = old_task_factory(

0 commit comments

Comments
 (0)