<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I don’t believe nginx can do this since I think it’stoo linear in the way it processes the request<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The way I would approach this is by using the httpd built into C# - HttpListener<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Once you receive the initial request you can send 200 immediately then spawn a new thread with the request to your backend using HttpWebRequest<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Just some ideas… this is potentially very easy using C# - and I’m sure in quite a few other lanquages/scripts too<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> nginx-bounces@nginx.org [mailto:nginx-bounces@nginx.org]
<b>On Behalf Of </b>Guy Knights<br>
<b>Sent:</b> 30 August 2011 22:35<br>
<b>To:</b> nginx@nginx.org<br>
<b>Subject:</b> Fire and forget requests<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi,<br>
<br>
We have a very specific use case and are trying to find a solution for it. We started looking at nginx as a possibility for handling this use case as we already use nginx for some of our other webserver duties. I've done some testing and investigation but it
 doesn't seem like we can use nginx to do what we want. However I thought I'd check with the community before dismissing it completely.<br>
<br>
What we want is a fire and forget solution for request handling, where we can set up nginx to receive a request from our web servers, pass this request on to an external HTTP service or an HTTP backend and send a 200 response back straight away to the requesting
 machine, leaving the original request to be handled at whatever speed the backend is capable of. We don't care about the response from the backend server; this can simply be dropped once it's received.<br>
<br>
Is something like the above possible? I did some testing by setting nginx up as a load balancer, pointing at a backend web server, and using the "return" directive before the proxy_pass directive but the return directive simply stops further execution of the
 request.<br>
<br>
Any advice would be welcome.<br>
<br>
Thanks,<br>
Guy<o:p></o:p></p>
</div>
</body>
</html>