This commit is contained in:
parent
c5316b4dda
commit
94046f8692
2 changed files with 13 additions and 5 deletions
|
@ -436,6 +436,9 @@ class SchedulerPart(ConfModel):
|
|||
"mower.solvers.sss.SSSSolver": True,
|
||||
"mower.solvers.rogue.RogueSolver": True,
|
||||
}
|
||||
"启用任务"
|
||||
postpone_non_riic: bool = True
|
||||
"将基建以外的任务推迟到基建任务后执行"
|
||||
|
||||
|
||||
class SKLandPart(ConfModel):
|
||||
|
|
|
@ -175,15 +175,13 @@ class Scheduler:
|
|||
insort(self.time_queue, task)
|
||||
|
||||
def update_queue(self):
|
||||
tasks = self.priority_queue
|
||||
self.priority_queue = []
|
||||
tasks, self.priority_queue = self.priority_queue, []
|
||||
for task in tasks:
|
||||
if config.conf.task[task.solver]:
|
||||
self.priority_queue.append(task)
|
||||
else:
|
||||
insort(self.time_queue, task)
|
||||
tasks = self.time_queue
|
||||
self.time_queue = []
|
||||
tasks, self.time_queue = self.time_queue, []
|
||||
for task in tasks:
|
||||
if config.conf.task[task.solver] and task.next_execution() <= now:
|
||||
insort(self.priority_queue, task)
|
||||
|
@ -258,7 +256,14 @@ class Scheduler:
|
|||
insort(self.time_queue, next_task)
|
||||
else:
|
||||
# 如果没有需要立即执行的任务,休息
|
||||
next_time = next(self.waiting_tasks).next_execution()
|
||||
for next_task in self.waiting_tasks:
|
||||
if (
|
||||
not config.conf.postpone_non_riic
|
||||
or next_task.solver
|
||||
== "mower.solvers.base_manager.BaseManager"
|
||||
):
|
||||
break
|
||||
next_time = next_task.next_execution()
|
||||
sleep_time = next_time - now
|
||||
sleep_time_display = format_time(sleep_time.total_seconds())
|
||||
if sleep_time > timedelta(minutes=3):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue