import asyncio from app.application.scheduling import register_scheduler_class from app.scheduler import Scheduler # 导入期即向 application 门面注册调度器类,保证工具调用时不依赖静态边。 register_scheduler_class(Scheduler) def init_scheduler(): """ 初始化定时器 """ Scheduler().init() def stop_scheduler(): """ 停止定时器;生命周期事件循环中返回可等待的收口协程。 """ scheduler = Scheduler() try: asyncio.get_running_loop() except RuntimeError: scheduler.stop() return None return scheduler.stop_async() def restart_scheduler(): """ 重启定时器 """ Scheduler().init() def init_plugin_scheduler(): """ 初始化插件定时器 """ Scheduler().init_plugin_jobs()