add 公共定时服务

This commit is contained in:
jxxghp 2023-06-20 16:17:23 +08:00
parent 3ae8ded8dd
commit 4f4a788594
3 changed files with 20 additions and 0 deletions

View File

@ -300,3 +300,9 @@ class ChainBase(AbstractSingleton, metaclass=Singleton):
注册菜单命令 注册菜单命令
""" """
return self.run_module("register_commands", commands=commands) return self.run_module("register_commands", commands=commands)
def scheduler_job(self) -> None:
"""
定时任务每10分钟调用一次模块实现该接口以实现定时服务
"""
return self.run_module("scheduler_job")

View File

@ -557,3 +557,9 @@ class TheMovieDbModule(_ModuleBase):
xml_str = doc.toprettyxml(indent=" ", encoding="utf-8") xml_str = doc.toprettyxml(indent=" ", encoding="utf-8")
file_path.write_bytes(xml_str) file_path.write_bytes(xml_str)
logger.info(f"NFO文件已保存{file_path}") logger.info(f"NFO文件已保存{file_path}")
def scheduler_job(self) -> None:
"""
定时任务每10分钟调用一次
"""
self.cache.save()

View File

@ -5,6 +5,7 @@ import pytz
from apscheduler.executors.pool import ThreadPoolExecutor from apscheduler.executors.pool import ThreadPoolExecutor
from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.schedulers.background import BackgroundScheduler
from app.chain import ChainBase
from app.chain.cookiecloud import CookieCloudChain from app.chain.cookiecloud import CookieCloudChain
from app.chain.douban import DoubanChain from app.chain.douban import DoubanChain
from app.chain.subscribe import SubscribeChain from app.chain.subscribe import SubscribeChain
@ -21,6 +22,10 @@ scheduler_logger = logging.getLogger('apscheduler')
scheduler_logger.setLevel(logging.WARNING) scheduler_logger.setLevel(logging.WARNING)
class SchedulerChain(ChainBase):
pass
class Scheduler(metaclass=Singleton): class Scheduler(metaclass=Singleton):
""" """
定时任务管理 定时任务管理
@ -56,6 +61,9 @@ class Scheduler(metaclass=Singleton):
# 下载器文件转移每5分钟 # 下载器文件转移每5分钟
self._scheduler.add_job(TransferChain().process, "interval", minutes=5) self._scheduler.add_job(TransferChain().process, "interval", minutes=5)
# 公共定时服务
self._scheduler.add_job(SchedulerChain().scheduler_job, "interval", minutes=10)
# 打印服务 # 打印服务
logger.debug(self._scheduler.print_jobs()) logger.debug(self._scheduler.print_jobs())