Quelqu'un sait comment envoyer une réponse CGI dans Ruby avant que l'exécution du script CGI est terminée?Renvoyer une réponse avec Ruby CGI avant que le script ne soit terminé?
Je crée une API HTTP fire-and-forget. Je veux qu'un client me transmette des données via HTTP et que la réponse retourne avec succès, et puis il balaie les données et effectue un traitement (sans que le client doive attendre une réponse).
J'ai essayé plusieurs choses qui ne marchent pas, y compris la fourche. Les éléments suivants attendent juste 5 secondes lorsqu'ils sont invoqués via HTTP.
#!/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
j'ai pu obtenir ce que je voulais avec 'Process.daemon pid'. – DutGRIFF