Source code for sirbot.plugins.apscheduler.plugin

import logging

from apscheduler.schedulers.asyncio import AsyncIOScheduler

LOG = logging.getLogger(__name__)


[docs]class APSchedulerPlugin: """ Handle code execution scheduling Register a new job running every hour with: .. code-block:: python APSchedulerPlugin.scheduler.add_job(job, 'cron', hour=1, kwargs={'bot': bot}) Args: **kwargs: Arguments for :class:`apscheduler.schedulers.asyncio.AsyncIOScheduler`. **Variables** * **scheduler**: Instance of :class:`apscheduler.schedulers.asyncio.AsyncIOScheduler`. """ __name__ = "scheduler" def __init__(self, **kwargs): self.scheduler = AsyncIOScheduler(**kwargs) def load(self, sirbot): LOG.info("Loading apscheduler plugin") sirbot.on_startup.append(self.start) async def start(self, sirbot): self.scheduler.start()