我目前有一个在 FCGI 处理程序中运行的 Sinatra 应用程序。我想编写一个处理程序,它将位于 rackup 文件中(可能在 Sinatra 应用程序的前面),并将通过套接字将大文件上传流式传输到另一台服务器(而不首先在磁盘上缓冲它)并与请求联锁。所以我想做的是某种没有参数准备的流解码发送工作流。我在某处读到这有问题,因为特别是由于 Rails 团队希望看到中间件管道的方式,Rack 中的所有上传都已设为可重绕,这意味着上传将被缓冲,所以不仅我不能提供Rack 中的上传进度,但我还必须在磁盘上缓冲文件,然后将其发送到下游。
是否有一些跨后端解决方案将网络服务器的请求循环与机架响应程序联系起来,并且不强制回退输入(并且不强制上传的内存缓冲,这绝对是愚蠢的疯狂)?目前解决这类问题的方法是什么?