Re: [Pound Mailing List] How to survive long answers from a backend

Peter Shaw <unthoughted-gM/[email protected]>
Newsgroups gmane.comp.web.pound.general
Message-ID <[email protected]>
Hi Conor, 

thanks a lot for your response. 
Your way will work for me, too. I did not see, that the Timeout is one of teh Service flags. 

That works for me.  



---
ps

B. unthoughted.wordpress.com
T. @peter_shaw
F. facebook.com/PeterDunstonShaw
G. github.com/petershaw

On Oct 9, 2013, at 6:41 PM, Conor McCarthy <[email protected]> wrote:

> 
> On 9 October 2013 15:42, Peter Shaw <unthoughted-gM/[email protected]> wrote:
> Hi,
> 
> its me again.
> Sorry if i bother the list, but this issue is very important  for me and i definitely need your help! I can figure out whats happening, or how i configure pound the right way.
> 
> I have one call in my Application that is sending data over a time period of 40-120 seconds. I don't want alywas wait 120 Sec till pound terminates if no data are coming back from the servers. But i do want configure pound to keep the connection open when  data from the backend is sending too the client. How long that ever takes: if data is responding: keep it open.
> 
> Is this possible?
> 
> 
> This type of service is effectively incompatible with a normal HTTP load 
> balancer.
> (Ideally you should consider asynchronous processing, or some other 
> way to decouple your application logic from the way a HTTP connection 
> behaves.)
> 
> I have worked around similar issues (long-running CGI) by duplicating 
> Service and BackEnd(s) stanzas, and adjusting the Timeout in each 
> Backend:
> 
> 
> ListenHTTP
>    ...
>    # slow service
>    Service 
>        URL /cgi-bin/slowurl
>        Backend
>            Address 1.2.3.4
>            Port 80
>            Timeout 240
>        End
>    End
>   
>    # normal service
>    Service 
>        Backend
>            Address 1.2.3.4
>            Port 80
>            Timeout 15
>        End
>    End
> 
> 
> Obviously this is not ideal...
> 
> You should also make sure to use a recent pound if you want to use more 
> than one "URL" directives. "HeadRequire" or "HeadDeny" may work better, 
> assuming that you have some way of identifying slow request in advance.
> You might also want to set the "Client" timeout in your listener.
> 
> C.
> 
>  
> Thanks a lot for any kind of ideas.
> 
> Peter
> ---
> ps
> 
> B. unthoughted.wordpress.com
> T. @peter_shaw
> F. facebook.com/PeterDunstonShaw
> G. github.com/petershaw
> 
> On Oct 4, 2013, at 6:04 PM, Peter Shaw <unthoughted-gM/[email protected]> wrote:
> 
> >
> > Hi folks,
> >
> > Why a request from the browser fails, but not from curl on the terminal everything works find? - Or ask the other way around: how can i do long answer responses?
> >
> > This is my setup:
> > Pound is configured with
> >       Alive           2
> >       ConnTO          30
> >       Client          115
> >       TimeOut         30
> >
> > And a wrote this demo-script:
> >
> > --------------------------
> > #!/usr/bin/perl
> >
> > $| = 1;
> >
> > print "Content-Type: text/html\n\n";
> >
> > print "." x 1024;
> >
> > for(1..6){
> >       sleep(10);
> >       print ". \n";
> > }
> >
> > print "done.";
> > --------------------------
> >
> > in curl i get the whole result:
> > # curl http://vm-box.dev/cgi-bin/hello.pl
> > .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
> > .
> > .
> > .
> > .
> > .
> > done.#
> >
> >
> > But in the browser,  pound is terminating the session after exact 30 secunds and the log tells me:
> > e500 for 192.168.56.1 response error read from 127.0.0.1:8000/GET /cgi-bin/hello.pl HTTP/1.1: Connection timed out (30.009 secs)
> >
> > First, i do not understand why it works with curl. Second - and more importend - how can i pass a long result throw pound?
> >
> >
> > Thanx a lot for any thoughts.
> > ps
> >
> >
> >
> > --
> > To unsubscribe send an email with subject unsubscribe to [email protected]
> > Please contact [email protected] for questions.
> 
> 
> --
> To unsubscribe send an email with subject unsubscribe to [email protected]
> Please contact [email protected] for questions.
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.