summaryrefslogtreecommitdiff
path: root/ATRI/apscheduler.py
blob: a56c8ae37dbca9f671543c100a4d2a623e2c2333 (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
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