From dacce76de9a5ff2f4d4d7ff304e0cc54b7189df0 Mon Sep 17 00:00:00 2001 From: mayun110 Date: Wed, 9 Aug 2023 09:33:35 +0800 Subject: [PATCH] =?UTF-8?q?feat=20BestFilmVersion=20=E7=AB=8B=E5=8D=B3?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E6=94=B9=E4=B8=BA=E5=BC=82=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/plugins/bestfilmversion/__init__.py | 52 +++++++++++++------------ 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/app/plugins/bestfilmversion/__init__.py b/app/plugins/bestfilmversion/__init__.py index 96b2ba6c..6a328514 100644 --- a/app/plugins/bestfilmversion/__init__.py +++ b/app/plugins/bestfilmversion/__init__.py @@ -1,9 +1,10 @@ -import datetime +from datetime import datetime, timedelta from functools import reduce from pathlib import Path from typing import Optional, Any, List, Dict, Tuple from xml.dom.minidom import parseString +import pytz from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.triggers.cron import CronTrigger from requests import Response @@ -71,37 +72,38 @@ class BestFilmVersion(_PluginBase): self._webhook_enabled = config.get("webhook_enabled") self._only_once = config.get("only_once") - if self._enabled and not self._webhook_enabled: - + if self._enabled: self._scheduler = BackgroundScheduler(timezone=settings.TZ) - if self._cron: - try: - self._scheduler.add_job(func=self.sync, - trigger=CronTrigger.from_crontab(self._cron), - name="收藏洗版") - except Exception as err: - logger.error(f"定时任务配置错误:{err}") - # 推送实时消息 - self.systemmessage.put(f"执行周期配置错误:{err}") - else: - self._scheduler.add_job(self.sync, "interval", minutes=30, name="收藏洗版") + if not self._webhook_enabled: + if self._cron: + try: + self._scheduler.add_job(func=self.sync, + trigger=CronTrigger.from_crontab(self._cron), + name="收藏洗版") + except Exception as err: + logger.error(f"定时任务配置错误:{err}") + # 推送实时消息 + self.systemmessage.put(f"执行周期配置错误:{err}") + else: + self._scheduler.add_job(self.sync, "interval", minutes=30, name="收藏洗版") + if self._only_once: + self._only_once = False + self.update_config({ + "enabled": self._enabled, + "cron": self._cron, + "notify": self._notify, + "webhook_enabled": self._webhook_enabled, + "only_once": self._only_once + }) + self._scheduler.add_job(self.sync, 'date', + run_date=datetime.now(tz=pytz.timezone(settings.TZ)) + timedelta(seconds=3), + name="立即运行收藏洗版") # 启动任务 if self._scheduler.get_jobs(): self._scheduler.print_jobs() self._scheduler.start() - if self._enabled and self._only_once: - self._only_once = False - self.update_config({ - "enabled": self._enabled, - "cron": self._cron, - "notify": self._notify, - "webhook_enabled": self._webhook_enabled, - "only_once": self._only_once - }) - self.sync() - def get_state(self) -> bool: return self._enabled