diff options
Diffstat (limited to 'ATRI/apscheduler.py')
-rw-r--r-- | ATRI/apscheduler.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ATRI/apscheduler.py b/ATRI/apscheduler.py new file mode 100644 index 0000000..a56c8ae --- /dev/null +++ b/ATRI/apscheduler.py @@ -0,0 +1,35 @@ +# Fork from: https://github.com/nonebot/plugin-apscheduler + +import logging +from pydantic import Field +from apscheduler.schedulers.asyncio import AsyncIOScheduler + +from nonebot import get_driver, export +from nonebot.log import logger, LoguruHandler + + +apscheduler_autostart: bool = True +apscheduler_config: dict = {"apscheduler.timezone": "Asia/Shanghai"} + + +driver = get_driver() +scheduler = AsyncIOScheduler() +export().scheduler = scheduler + + +async def _start_scheduler(): + if not scheduler.running: + scheduler.configure(apscheduler_config) + scheduler.start() + logger.info("Scheduler Started.") + + +if apscheduler_autostart: + driver.on_startup(_start_scheduler) + +aps_logger = logging.getLogger("apscheduler") +aps_logger.setLevel(logging.DEBUG) +aps_logger.handlers.clear() +aps_logger.addHandler(LoguruHandler()) + +from apscheduler.triggers.date import DateTrigger |