Skip to content

Commit eaef415

Browse files
committed
handle update_scheduled_time
1 parent 6cfa9a2 commit eaef415

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

tasktiger/task.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,8 @@ def update_scheduled_time(
443443
)
444444
)
445445

446+
self._data["scheduled_at"] = ts
447+
tiger.connection.set(tiger._key("task", self.id), json.dumps(self._data))
446448
self._ts = ts
447449

448450
def __repr__(self) -> str:

tests/test_task.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,16 @@ def test_scheduled_at_persists_after_reload(self, tiger):
8787
def test_scheduled_at_none_for_unqueued_task(self, tiger):
8888
task = Task(tiger, simple_task)
8989
assert task.scheduled_at is None
90+
91+
def test_update_scheduled_time_updates_scheduled_at(self, tiger):
92+
future = datetime.timedelta(minutes=5)
93+
later = datetime.timedelta(minutes=10)
94+
with FreezeTime(self.FROZEN_NOW):
95+
task = tiger.delay(simple_task, when=future)
96+
assert task.scheduled_at == self.FROZEN_NOW + future
97+
98+
new_when = self.FROZEN_NOW + later
99+
task.update_scheduled_time(when=new_when)
100+
101+
reloaded = Task.from_id(tiger, task.queue, "scheduled", task.id)
102+
assert reloaded.scheduled_at == new_when

0 commit comments

Comments
 (0)