summaryrefslogtreecommitdiff
path: root/ATRI/utils/apscheduler.py
blob: daf37f49dd74c05ee5a841ee666e85f1f466ecaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""
Fork from: https://github.com/nonebot/plugin-apscheduler
"""
import logging
from apscheduler.schedulers.asyncio import AsyncIOScheduler

from nonebot import get_driver
from nonebot.log import logger, LoguruHandler


apscheduler_autostart: bool = True
apscheduler_config: dict = {"apscheduler.timezone": "Asia/Shanghai"}


driver = get_driver()
scheduler = AsyncIOScheduler()


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