gpt4 book ai didi

ruby - 在脚本完成之前使用 Ruby CGI 返回响应?

转载 作者:数据小太阳 更新时间:2023-10-29 08:02:00 25 4
gpt4 key购买 nike

有人知道如何在 CGI 脚本完成执行之前用 Ruby 发送 CGI 响应吗?

我正在创建一个即发即弃的 HTTP API。我希望客户端通过 HTTP 向我推送数据并成功返回响应,然后它会混合数据并进行一些处理(客户端无需等待响应)。

我已经尝试了几种不起作用的方法,包括 fork。当通过 HTTP 调用时,以下将只等待 5 秒。

#!/usr/bin/ruby

require 'cgi'

cgi = CGI.new
cgi.out "text/plain" do
"1"
end

pid = fork
if pid
# parent
Process.detach pid
else
# child
sleep 5
end

最佳答案

我回答了我自己的问题。结果我只需要关闭子进程中的 $stdin、$stdout 和 $stderr:

#!/usr/bin/ruby

require 'cgi'

cgi = CGI.new
cgi.out "text/plain" do
"1"
end

pid = fork
if pid
# parent
Process.detach pid
else
# child
$stdin.close
$stdout.close
$stderr.close
sleep 5
end

关于ruby - 在脚本完成之前使用 Ruby CGI 返回响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4189230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com