(self)
| 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 | """ |
no test coverage detected