APScheduler的AsyncIOScheduler默认在脚本完成后退出,但是可以通过添加一个事件循环来解决这个问题。下面是示例代码:
import asyncio
from apscheduler.schedulers.asyncio import AsyncIOScheduler
async def job():
# 定义需要执行的任务
print('Task executed')
scheduler = AsyncIOScheduler()
# 添加任务
scheduler.add_job(job, 'interval', seconds=1)
# 获取事件循环
loop = asyncio.get_event_loop()
# 添加事件循环
scheduler.start(paused=False)
loop.run_forever()
在这个示例中,我们首先定义了一个异步的任务job
。然后创建一个AsyncIOScheduler
实例并添加任务。然后我们通过获取事件循环和使用run_forever()
方法来启动事件循环。
这样,事件循环将在脚本完成后继续运行,直到我们停止它或者手动停止任务。