首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FastAPI Utils -在云运行一段时间后,repeat_every无法工作

FastAPI Utils -在云运行一段时间后,repeat_every无法工作
EN

Stack Overflow用户
提问于 2022-09-29 08:06:33
回答 1查看 221关注 0票数 0

我有一个重复的任务,每15分钟运行一次。

代码语言:javascript
复制
@app.on_event("startup")
@repeat_every(seconds=60 * 15, wait_first=True)
def myFunction(db=SessionLocal()) -> None:
    test(db=db, for_test=False)

一开始是很正常的。但过了一段时间(比如5-6小时),它就会停止工作,再也不会重复任务了。当我在云运行中检查日志时,我会看到以下消息;

代码语言:javascript
复制
RuntimeError: coroutine ignored GeneratorExit 

也是这样的原木;

代码语言:javascript
复制
2022-09-29 10:04:04.263 EETTask was destroyed but it is pending!
2022-09-29 10:04:04.263 EETtask: <Task pending name='Task-850' coro=<H2Protocol.send_task() running at /usr/local/lib/python3.9/site-packages/hypercorn/protocol/h2.py:148> wait_for=<Future cancelled> cb=[_gather.<locals>._done_callback() at /usr/local/lib/python3.9/asyncio/tasks.py:767]>

我必须部署一个新的修订版,以使重复的任务再次工作。我想知道在这种情况下该做些什么,以及为什么会发生这个错误。在本地主机上似乎没有这样的问题。

我应该使用来代替FastApi的重复任务吗?

EN

回答 1

Stack Overflow用户

发布于 2022-10-09 17:11:22

这个问题是因为我的启动脚本而出现的。

我没有注意到,但我在生产中使用了--reload标记。我真不敢相信。

在我为生产编辑了启动脚本之后,一切都进行得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73892258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档