xuthus b24eb83900
All checks were successful
littlePaimon / littlePaimon-Gitea-Actions (push) Successful in 2h52m18s
更新amis版本
2025-04-12 23:29:17 +08:00

50 lines
1.3 KiB
Python

import logging
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from nonebot import get_driver
from nonebot.log import LoguruHandler, logger
from pydantic import Field, BaseSettings
class Config(BaseSettings):
apscheduler_autostart: bool = True
apscheduler_log_level: int = 30
amis_cdn: str = "https://npm.onmicrosoft.cn"
amis_pkg: str = "amis@6.3.0"
apscheduler_config: dict = Field(
default_factory=lambda: {"apscheduler.timezone": "Asia/Shanghai"}
)
class Config:
extra = "ignore"
driver = get_driver()
global_config = driver.config
plugin_config = Config(**global_config.dict())
scheduler = AsyncIOScheduler()
scheduler.configure(plugin_config.apscheduler_config)
async def _start_scheduler():
if not scheduler.running:
scheduler.start()
logger.opt(colors=True).info("<y>Scheduler Started</y>")
async def _shutdown_scheduler():
if scheduler.running:
scheduler.shutdown()
logger.opt(colors=True).info("<y>Scheduler Shutdown</y>")
if plugin_config.apscheduler_autostart:
driver.on_startup(_start_scheduler)
driver.on_shutdown(_shutdown_scheduler)
aps_logger = logging.getLogger("apscheduler")
aps_logger.setLevel(plugin_config.apscheduler_log_level)
aps_logger.handlers.clear()
aps_logger.addHandler(LoguruHandler())