fix 签到插件

This commit is contained in:
thsrite 2023-08-31 14:43:41 +08:00
parent 053c89bf9f
commit 9f0bd2b933

View File

@ -114,68 +114,69 @@ class AutoSignIn(_PluginBase):
self.__update_config() self.__update_config()
# 周期运行 # 周期运行
if self._enabled and self._cron: if self._enabled:
try: if self._cron:
if self._cron.strip().count(" ") == 4: try:
self._scheduler.add_job(func=self.sign_in, if self._cron.strip().count(" ") == 4:
trigger=CronTrigger.from_crontab(self._cron), self._scheduler.add_job(func=self.sign_in,
name=f"站点自动{self._action}") trigger=CronTrigger.from_crontab(self._cron),
logger.info(f"站点自动{self._action}服务启动,执行周期 {self._cron}") name=f"站点自动{self._action}")
else: logger.info(f"站点自动{self._action}服务启动,执行周期 {self._cron}")
# 2.3/9-23 else:
crons = self._cron.strip().split("/") # 2.3/9-23
if len(crons) == 2: crons = self._cron.strip().split("/")
# 2.3 if len(crons) == 2:
self._cron = crons[0] # 2.3
# 9-23 self._cron = crons[0]
times = crons[1].split("-") # 9-23
if len(times) == 2: times = crons[1].split("-")
# 9 if len(times) == 2:
self._start_time = int(times[0]) # 9
# 23 self._start_time = int(times[0])
self._end_time = int(times[1]) # 23
if self._start_time and self._end_time: 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, self._scheduler.add_job(func=self.sign_in,
trigger="interval", trigger="interval",
hours=float(self._cron.strip()), hours=float(self._cron.strip()),
name=f"站点自动{self._action}") name=f"站点自动{self._action}")
logger.info( logger.info(
f"站点自动{self._action}服务启动,执行周期 {self._start_time}点-{self._end_time}点 每{self._cron}小时执行一次") f"站点自动{self._action}服务启动,执行周期 {self._start_time}点-{self._end_time}点 每{self._cron}小时执行一次")
else: except Exception as err:
logger.error(f"站点自动{self._action}服务启动失败,周期格式错误") logger.error(f"定时任务配置错误:{err}")
# 推送实时消息 # 推送实时消息
self.systemmessage.put(f"执行周期配置错误") self.systemmessage.put(f"执行周期配置错误:{err}")
self._cron = "" self._cron = ""
self._enabled = False self._enabled = False
self.__update_config() self.__update_config()
else: else:
# 默认0-24 按照周期运行 # 随机时间
self._start_time = 0 triggers = TimerUtils.random_scheduler(num_executions=2,
self._end_time = 24 begin_hour=9,
self._scheduler.add_job(func=self.sign_in, end_hour=23,
trigger="interval", max_interval=12 * 60,
hours=float(self._cron.strip()), min_interval=6 * 60)
name=f"站点自动{self._action}") for trigger in triggers:
logger.info( self._scheduler.add_job(self.sign_in, "cron",
f"站点自动{self._action}服务启动,执行周期 {self._start_time}点-{self._end_time}点 每{self._cron}小时执行一次") hour=trigger.hour, minute=trigger.minute,
except Exception as err: name=f"站点自动{self._action}")
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(): if self._scheduler.get_jobs():