MCPcopy Create free account
hub / github.com/runhey/OnmyojiAutoScript / next_run

Method next_run

tasks/WantedQuests/script_task.py:78–98  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

76 raise TaskEnd('WantedQuests')
77
78 def next_run(self):
79 before_end: time = self.config.wanted_quests.wanted_quests_config.before_end
80 if before_end == time(hour=0, minute=0, second=0):
81 self.set_next_run(task='WantedQuests', success=True, finish=True)
82 return
83 time_delta = timedelta(hours=-before_end.hour, minutes=-before_end.minute, seconds=-before_end.second)
84 now_datetime = datetime.now()
85 now_time = now_datetime.time()
86 if time(hour=6) <= now_time < time(hour=18):
87 # 如果是在6点到18点之间,那就设定下一次运行的时间为第二天的6点 + before_end
88 next_run_datetime = datetime.combine(now_datetime.date() + timedelta(days=1), time(hour=6))
89 next_run_datetime = next_run_datetime + time_delta
90 elif time(hour=18) <= now_time < time(hour=23, minute=59, second=59):
91 # 如果是在18点到23点59分59秒之间,那就设定下一次运行的时间为第二天的18点 + before_end
92 next_run_datetime = datetime.combine(now_datetime.date() + timedelta(days=1), time(hour=18))
93 next_run_datetime = next_run_datetime + time_delta
94 else:
95 # 如果是在0点到6点之间,那就设定下一次运行的时间为今天的18点 + before_end
96 next_run_datetime = datetime.combine(now_datetime.date(), time(hour=18))
97 next_run_datetime = next_run_datetime + time_delta
98 self.set_next_run(task='WantedQuests', target=next_run_datetime)
99
100 def pre_work(self):
101 """

Callers 1

runMethod · 0.95

Calls 2

set_next_runMethod · 0.80
combineMethod · 0.80

Tested by

no test coverage detected