feat BestFilmVersion 立即运行改为异步

This commit is contained in:
mayun110 2023-08-09 09:33:35 +08:00
parent d16c7b3133
commit dacce76de9

View File

@ -1,9 +1,10 @@
import datetime from datetime import datetime, timedelta
from functools import reduce from functools import reduce
from pathlib import Path from pathlib import Path
from typing import Optional, Any, List, Dict, Tuple from typing import Optional, Any, List, Dict, Tuple
from xml.dom.minidom import parseString from xml.dom.minidom import parseString
import pytz
from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.cron import CronTrigger from apscheduler.triggers.cron import CronTrigger
from requests import Response from requests import Response
@ -71,9 +72,9 @@ class BestFilmVersion(_PluginBase):
self._webhook_enabled = config.get("webhook_enabled") self._webhook_enabled = config.get("webhook_enabled")
self._only_once = config.get("only_once") self._only_once = config.get("only_once")
if self._enabled and not self._webhook_enabled: if self._enabled:
self._scheduler = BackgroundScheduler(timezone=settings.TZ) self._scheduler = BackgroundScheduler(timezone=settings.TZ)
if not self._webhook_enabled:
if self._cron: if self._cron:
try: try:
self._scheduler.add_job(func=self.sync, self._scheduler.add_job(func=self.sync,
@ -86,12 +87,7 @@ class BestFilmVersion(_PluginBase):
else: else:
self._scheduler.add_job(self.sync, "interval", minutes=30, name="收藏洗版") self._scheduler.add_job(self.sync, "interval", minutes=30, name="收藏洗版")
# 启动任务 if self._only_once:
if self._scheduler.get_jobs():
self._scheduler.print_jobs()
self._scheduler.start()
if self._enabled and self._only_once:
self._only_once = False self._only_once = False
self.update_config({ self.update_config({
"enabled": self._enabled, "enabled": self._enabled,
@ -100,7 +96,13 @@ class BestFilmVersion(_PluginBase):
"webhook_enabled": self._webhook_enabled, "webhook_enabled": self._webhook_enabled,
"only_once": self._only_once "only_once": self._only_once
}) })
self.sync() 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()
def get_state(self) -> bool: def get_state(self) -> bool:
return self._enabled return self._enabled