例如:
async def first_route(request):
......
async def second_route(request):
......
async def functionToSchedule():
......
if __name__ == '__main__':
app = web.Application()
app.router.add_get('/fr', first_route)
app.router.add_post('/sr', second_route)
web.run_app(app)
我不明白,我怎么可以添加任务运行functionToSchedule
每天在00:00
。如果我使用简单的schedule
库,我不能在web.run_app(app)
之后粘贴函数调用
1条答案
按热度按时间egmofgnx1#
我假设您知道如何编写一个将在每天00:00运行的函数(并且您知道,根据您的应用程序负载,这个时间可能并不精确),因此我将专注于添加任务。
第一条路
更直接的方法是基于这样一个事实,即您可以向
web.run_app(app, loop=loop)
传递一个循环参数,并在此之前使用它做一些事情。所以事情会是这样的:第二种(可能更好)方法
这是在官方的aiohttp文档中建议的一个是像这样使用
app.cleanup_ctx
(文档中有一个例子):