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)
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")
file_path.write_bytes(xml_str)
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.schedulers.background import BackgroundScheduler
from app.chain import ChainBase
from app.chain.cookiecloud import CookieCloudChain
from app.chain.douban import DoubanChain
from app.chain.subscribe import SubscribeChain
@ -21,6 +22,10 @@ scheduler_logger = logging.getLogger('apscheduler')
scheduler_logger.setLevel(logging.WARNING)
class SchedulerChain(ChainBase):
pass
class Scheduler(metaclass=Singleton):
"""
定时任务管理
@ -56,6 +61,9 @@ class Scheduler(metaclass=Singleton):
# 下载器文件转移每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())