You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
flowchart LR
httpx-->|slow network| server
subgraph one[Host 1]
client-->|localhost\nconnection| quart
subgraph quart[Quart app]
httpx[httpx async\nclient]
end
end
subgraph two[Host 2]
server
end
Loading
In this configuration, the Quart app acts as a proxy. As the httpx client is slowly consuming data because of the network speed, Quart buffers incoming data which is being uploaded at a very high speed because of a localhost connection. For huge payloads, this results in either memory allocation errors, or the out-of-memory killer killing the app.
Some more context when this is relevant.
flowchart LR httpx-->|slow network| server subgraph one[Host 1] client-->|localhost\nconnection| quart subgraph quart[Quart app] httpx[httpx async\nclient] end end subgraph two[Host 2] server endIn this configuration, the Quart app acts as a proxy. As the httpx client is slowly consuming data because of the network speed, Quart buffers incoming data which is being uploaded at a very high speed because of a localhost connection. For huge payloads, this results in either memory allocation errors, or the out-of-memory killer killing the app.
^ From @andrewsh