On 9 October 2013 15:42, Peter Shaw <[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 <[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.
>