From 9f0bd2b93340ed336d368bf2d8b7a39dcd0cd0c9 Mon Sep 17 00:00:00 2001 From: thsrite Date: Thu, 31 Aug 2023 14:43:41 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=AD=BE=E5=88=B0=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/plugins/autosignin/__init__.py | 113 +++++++++++++++-------------- 1 file changed, 57 insertions(+), 56 deletions(-) diff --git a/app/plugins/autosignin/__init__.py b/app/plugins/autosignin/__init__.py index c7f3a21f..eaec7c08 100644 --- a/app/plugins/autosignin/__init__.py +++ b/app/plugins/autosignin/__init__.py @@ -114,68 +114,69 @@ class AutoSignIn(_PluginBase): self.__update_config() # 周期运行 - if self._enabled and self._cron: - try: - if self._cron.strip().count(" ") == 4: - self._scheduler.add_job(func=self.sign_in, - trigger=CronTrigger.from_crontab(self._cron), - name=f"站点自动{self._action}") - logger.info(f"站点自动{self._action}服务启动,执行周期 {self._cron}") - else: - # 2.3/9-23 - crons = self._cron.strip().split("/") - if len(crons) == 2: - # 2.3 - self._cron = crons[0] - # 9-23 - times = crons[1].split("-") - if len(times) == 2: - # 9 - self._start_time = int(times[0]) - # 23 - self._end_time = int(times[1]) - if self._start_time and self._end_time: + if self._enabled: + if self._cron: + try: + if self._cron.strip().count(" ") == 4: + self._scheduler.add_job(func=self.sign_in, + trigger=CronTrigger.from_crontab(self._cron), + name=f"站点自动{self._action}") + logger.info(f"站点自动{self._action}服务启动,执行周期 {self._cron}") + else: + # 2.3/9-23 + crons = self._cron.strip().split("/") + if len(crons) == 2: + # 2.3 + self._cron = crons[0] + # 9-23 + times = crons[1].split("-") + if len(times) == 2: + # 9 + self._start_time = int(times[0]) + # 23 + self._end_time = int(times[1]) + if self._start_time and self._end_time: + self._scheduler.add_job(func=self.sign_in, + trigger="interval", + hours=float(self._cron.strip()), + name=f"站点自动{self._action}") + logger.info( + f"站点自动{self._action}服务启动,执行周期 {self._start_time}点-{self._end_time}点 每{self._cron}小时执行一次") + else: + logger.error(f"站点自动{self._action}服务启动失败,周期格式错误") + # 推送实时消息 + self.systemmessage.put(f"执行周期配置错误") + self._cron = "" + self._enabled = False + self.__update_config() + else: + # 默认0-24 按照周期运行 + self._start_time = 0 + self._end_time = 24 self._scheduler.add_job(func=self.sign_in, trigger="interval", hours=float(self._cron.strip()), name=f"站点自动{self._action}") logger.info( f"站点自动{self._action}服务启动,执行周期 {self._start_time}点-{self._end_time}点 每{self._cron}小时执行一次") - else: - logger.error(f"站点自动{self._action}服务启动失败,周期格式错误") - # 推送实时消息 - self.systemmessage.put(f"执行周期配置错误") - self._cron = "" - self._enabled = False - self.__update_config() - else: - # 默认0-24 按照周期运行 - self._start_time = 0 - self._end_time = 24 - self._scheduler.add_job(func=self.sign_in, - trigger="interval", - hours=float(self._cron.strip()), - name=f"站点自动{self._action}") - logger.info( - f"站点自动{self._action}服务启动,执行周期 {self._start_time}点-{self._end_time}点 每{self._cron}小时执行一次") - except Exception as err: - logger.error(f"定时任务配置错误:{err}") - # 推送实时消息 - self.systemmessage.put(f"执行周期配置错误:{err}") - self._cron = "" - self._enabled = False - self.__update_config() - else: - # 随机时间 - triggers = TimerUtils.random_scheduler(num_executions=2, - begin_hour=9, - end_hour=23, - max_interval=12 * 60, - min_interval=6 * 60) - for trigger in triggers: - self._scheduler.add_job(self.sign_in, "cron", - hour=trigger.hour, minute=trigger.minute, - name=f"站点自动{self._action}") + except Exception as err: + logger.error(f"定时任务配置错误:{err}") + # 推送实时消息 + self.systemmessage.put(f"执行周期配置错误:{err}") + self._cron = "" + self._enabled = False + self.__update_config() + else: + # 随机时间 + triggers = TimerUtils.random_scheduler(num_executions=2, + begin_hour=9, + end_hour=23, + max_interval=12 * 60, + min_interval=6 * 60) + for trigger in triggers: + self._scheduler.add_job(self.sign_in, "cron", + hour=trigger.hour, minute=trigger.minute, + name=f"站点自动{self._action}") # 启动任务 if self._scheduler.get_jobs():