坏:丢失了一些 post 请求 fastapi
bad: lost some post requests fastapi
我使用 fastapi 框架创建 api 并且我已经部署在 heroku 上,这个 api 的主要功能是我必须发送(post 方法)元素作为每 5 秒的查询参数,我将其存储在 tinydb 中,并使用 get 方法显示所有存储的值。
一个问题是,如果我发送 10 post 个请求,我没有收到所有 10 个请求(我无法显示此请求发送的所有值。
我每次进入 post 方法时都会创建一个函数来增加变量的值,如果我发送 10 个 post 请求,我会得到变量 = 6 或 7 或 ... 而不是 10,所以我丢失了一些请求。
但在本地我有 api 运行 完美。
TinyDB 是 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,
据我所知 it has no native locking support,所以在这种情况下您必须自己实施。在这种情况下,如果多个节点正在处理请求,TinyDB 文件对于处理请求的特定节点也将是本地的,因此不可能只有一个真实来源。
我使用 fastapi 框架创建 api 并且我已经部署在 heroku 上,这个 api 的主要功能是我必须发送(post 方法)元素作为每 5 秒的查询参数,我将其存储在 tinydb 中,并使用 get 方法显示所有存储的值。
一个问题是,如果我发送 10 post 个请求,我没有收到所有 10 个请求(我无法显示此请求发送的所有值。
我每次进入 post 方法时都会创建一个函数来增加变量的值,如果我发送 10 个 post 请求,我会得到变量 = 6 或 7 或 ... 而不是 10,所以我丢失了一些请求。
但在本地我有 api 运行 完美。
TinyDB 是 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,
据我所知 it has no native locking support,所以在这种情况下您必须自己实施。在这种情况下,如果多个节点正在处理请求,TinyDB 文件对于处理请求的特定节点也将是本地的,因此不可能只有一个真实来源。