0
我编写了一个快速(hah)服务器来接受包含从中下载归档的URL的JSON有效内容。解析JSON后,我下载文件,解压缩并向每行添加元数据。对于大文件,这可能需要很长时间。在后台处理HTTP请求的结果 - Ruby
require 'thin'
require 'sinatra'
require 'json'
set :bind, '0.0.0.0'
#Listen on port 4567 at /core/action/parse-v1/parse-file for JSON post
post '/core/action/parse-v1/parse-file' do
request.body.rewind
request_payload = JSON.parse request.body.read
url = request_payload["s3Url"]
compressionType = request_payload["compressionType"]
- 东西,从s3Url拉动文件
- 东西,解压缩/焦油-xvf /等的基于compressionType设置
- 东西,在该文件中创建用于每行一个JSON对象,并将该文件request_payload它
- 的东西,结果推到一个队列进行处理 最后完成,发送200返回给客户端(这可能超时59秒前)。
目前这一切都需要相当长的一段时间,并保持HTTP连接始终打开。如何立即通过“东西”的部分关闭,让HTTP服务器关闭它的连接?
我已经试验了一下,但我坚持。