Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: SOAP::LITE client timeout makes ALL my Catalyst app to wait

by Anonymous Monk
on Jun 21, 2012 at 10:23 UTC ( #977611=note: print w/ replies, xml ) Need Help??


in reply to SOAP::LITE client timeout makes ALL my Catalyst app to wait

The solution is obvious, stop trying to contact some remote SOAP server for EVERYTHING


Comment on Re: SOAP::LITE client timeout makes ALL my Catalyst app to wait
Re^2: SOAP::LITE client timeout makes ALL my Catalyst app to wait
by miguelele (Beadle) on Jun 24, 2012 at 12:15 UTC

    If yours is a serious response, it seems that I failed to describe my problem:

    The app isnīt just a remote services eater. It does a lot of things: database querying, file processing, data management, sessions, authentication, etc. But there are some points where data MUST come from a remote WSDL service, and these points have become dangerous bottlenecks, because when that remote server goes down o delays its response, ALL THE APPLICATION waits until that process reach timeout or serves the response.

    If yours is a funny response, please start your own thread, prefixing it with a "JOKE" keyword, so we can choose to read it when bored.

    I have also crossposted this problem in Stack Overflow and SOAP::LITE list, whith any luck.

    Any help will be really appreciated:
    Miguel

      But there are some points where data MUST come from a remote WSDL service, and these points have become dangerous bottlenecks, because when that remote server goes down o delays its response, ALL THE APPLICATION waits until that process reach timeout or serves the response.

      But you, yourself, said, it tries to contact remote remote SOAP server before every function/runmode -- a self imposed bottleneck.

      There is no setting or trick or anything to change inside of SOAP::Lite or Catalyst to fix this problem.

      You must fix it in your application.

      See Watching long processes through CGI (Aug 02)

      Maybe it sounds too simple, but no, I'm not trying to be funny (: its me again Catalyst (app_)server.pl hangs a lot:)

      And now for the joke A tiger broke his

       

      Think of it a different way, instead of remote soap server, what would you do if it was local database (mysql) server?

      Either your app waits and makes your user waits, or it quickly informs the user "here is some cached data" or "sorry, busy now, refresh me in a minute.

      I don't have a link handy, but I remember reading an article (about reddit?) where they learned users hate to wait more than they hate old data or an error message, so cache lots of data.

      Also worth reading are The Architecture of Open Source Applications (Volume 2): Scalable Web Architecture and Distributed Systems and mod_perl: Building a Large-Scale E-commerce site with Apache and mod_perl

        Thank you for keep on trying!

        Your help and your links seem to describe the usual world, in which a remote delay makes the user to wait. I can live with it. Mostly because I can't change it by now. If the remote server goes down, its not my problem.

        BUT, what wonders me is that all other users must wait too, even if they try pages without SOAP connections

        - User "A" requests the page with the remote Web service and waits until timeout because the service is down.

        - User "B" (and C, D, E, etc.) can't view any page in the app.

        If I run 2 Fcgi processes in nginx, user "B" can navigate without any delay, but if he request the web service during the timeout of "A", all the app gets closed for "D", "E", etc, until timeouts of the previous users.

        Isn't it weird????

        Miguel

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://977611]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2014-07-24 05:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (158 votes), past polls