nonebot2/nonebot/sched.py
2020-09-13 00:18:31 +08:00

45 lines
1.1 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
计划任务
========
计划任务使用第三方库 `APScheduler`_ ,使用文档请参考 `APScheduler使用文档`_ 。
.. _APScheduler:
https://github.com/agronholm/apscheduler
.. _APScheduler使用文档:
https://apscheduler.readthedocs.io/en/latest/
"""
try:
from apscheduler.schedulers.asyncio import AsyncIOScheduler
except ImportError:
AsyncIOScheduler = None
if AsyncIOScheduler:
scheduler = AsyncIOScheduler()
"""
:类型:
``Optional[apscheduler.schedulers.asyncio.AsyncIOScheduler]``
:说明:
当可选依赖 ``APScheduler`` 未安装时,``scheduler`` 为 None
使用 ``pip install nonebot[scheduler]`` 安装可选依赖
:常用示例:
.. code-block:: python
from nonebot import scheduler
@scheduler.scheduled_job("cron", hour="*/2", id="xxx", args=[1], kwargs={arg2: 2})
async def run_every_2_hour(arg1, arg2):
pass
scheduler.add_job(run_every_day_from_program_start, "interval", days=1, id="xxx")
"""
else:
scheduler = None