定时任务
Sanic
类中提供了.add_task()
方法来添加一个在异步事件循环启动之后运行的任务,这个任务将会在协程中运行,并不会影响Web服务。借助Sanic提供的这个功能,可以将其设计为一个定时任务来使用。.add_task()
方法接受一个异步函数作为参数。具体使用可参考以下示例。
async def scheduled_task(app):
# 通过 while True 建立一个长期循环
while True:
await asyncio.sleep(3600) # 设定任务休眠时间
await db.query() # 执行定时功能
# 启动定时任务
app.add_task(scheduled_task(app))