定时任务

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))