diff options
author | Mathieu Velten <mathieuv@matrix.org> | 2023-08-23 13:37:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-23 13:37:51 +0200 |
commit | 873971a8b9b4cbbc141df570e76a02c7b4b9b9c0 (patch) | |
tree | 665bf300daabae67631965be93b9c4b66cdea5b9 | |
parent | Add tests for restoring the presence state after a restart. (#16151) (diff) | |
download | synapse-873971a8b9b4cbbc141df570e76a02c7b4b9b9c0.tar.xz |
Task scheduler: mark task as active if we are scheduling ASAP (#16165)
-rw-r--r-- | changelog.d/16165.misc | 1 | ||||
-rw-r--r-- | synapse/storage/databases/main/task_scheduler.py | 2 | ||||
-rw-r--r-- | synapse/util/task_scheduler.py | 4 |
3 files changed, 5 insertions, 2 deletions
diff --git a/changelog.d/16165.misc b/changelog.d/16165.misc new file mode 100644 index 0000000000..b4d514d249 --- /dev/null +++ b/changelog.d/16165.misc @@ -0,0 +1 @@ +Task scheduler: mark task as active if we are scheduling as soon as possible. diff --git a/synapse/storage/databases/main/task_scheduler.py b/synapse/storage/databases/main/task_scheduler.py index 1fb3180c3c..9ab120eea9 100644 --- a/synapse/storage/databases/main/task_scheduler.py +++ b/synapse/storage/databases/main/task_scheduler.py @@ -92,7 +92,7 @@ class TaskSchedulerWorkerStore(SQLBaseStore): if clauses: sql = sql + " WHERE " + " AND ".join(clauses) - sql = sql + "ORDER BY timestamp" + sql = sql + " ORDER BY timestamp" txn.execute(sql, args) return self.db_pool.cursor_to_dict(txn) diff --git a/synapse/util/task_scheduler.py b/synapse/util/task_scheduler.py index 773a8327f6..4aea64b338 100644 --- a/synapse/util/task_scheduler.py +++ b/synapse/util/task_scheduler.py @@ -154,13 +154,15 @@ class TaskScheduler: f"No function associated with action {action} of the scheduled task" ) + status = TaskStatus.SCHEDULED if timestamp is None or timestamp < self._clock.time_msec(): timestamp = self._clock.time_msec() + status = TaskStatus.ACTIVE task = ScheduledTask( random_string(16), action, - TaskStatus.SCHEDULED, + status, timestamp, resource_id, params, |