坏:丢失了一些 fastapi 的 post 请求
我使用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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
TinyDB 与向其写入数据的多个进程不兼容同时。
据我所知它没有本机锁定支持,所以在这种情况下你必须自己实现。在这种情况下,如果多个节点正在处理请求,则 TinyDB 文件也将位于处理请求的特定节点的本地,从而不可能拥有单一事实来源。
TinyDB is not compatible with multiple processes writing data to it at the same time.
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.