坏:丢失了一些 fastapi 的 post 请求

发布于 2025-01-11 12:46:19 字数 253 浏览 0 评论 0原文

我使用fastapi框架创建api,并部署在heroku上,该api的主要功能是我必须每5秒发送(post方法)元素作为查询参数,并将其存储在tinydb中并获取方法以显示存储的所有值。 问题是,如果我发送 10 个发布请求,我没有收到所有 10 个请求(我无法显示此请求发送的所有值。 我创建函数来每次进入 post 方法时增加变量的值,如果我发送 10 个 post 请求,我得到变量 = 6 或 7 或...而不是 10,所以我丢失了一些请求。
但在本地我有 api 完美运行。

i create api using fastapi framework and i have deployed on heroku, the main function of this api is i have to send (post method) element as query parameter every 5s and i store it in tinydb and get method to show all values stored.
a problem is if i send 10 post requests i didn't get all 10 request (i can't show all values sent by this requests.
i create function to increment value of variable every time when go into post methods and if i send 10 post requests i get variable = 6 or 7 or ... not 10, so i lost some requests.
but in local i have api run perfectly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

也只是曾经 2025-01-18 12:46:19

TinyDB 与向其写入数据的多个进程不兼容同时

为什么不使用TinyDB?

您需要高级功能,例如:访问
多个进程或线程,

据我所知它没有本机锁定支持,所以在这种情况下你必须自己实现。在这种情况下,如果多个节点正在处理请求,则 TinyDB 文件也将位于处理请求的特定节点的本地,从而不可能拥有单一事实来源。

TinyDB is not compatible with multiple processes writing data to it at the same time.

Why Not Use TinyDB?

You need advanced features like: access from
multiple processes or threads,

As far as I can tell it has no native locking support, so you'll have to implement that yourself in that case. In this case, if multiple nodes are handling requests, the TinyDB file will also be local to that specific node that handled the request, making it impossible to have one source of truth.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文