[Catalyst] working around request timeouts
chakkit at ibiz.co.th
Mon Aug 20 19:20:23 GMT 2012
Have you try RunAfterRequest Plugin?
On Aug 21, 2012, at 12:07 AM, "James R. Leu" <jleu at mindspring.com> wrote:
> Hello all,
> Problem description
> I have a catalyst application server that responds
> to 'API' requests for web applications via XHTMLRequests.
> Sometimes the requests are timing out due to the backend
> database queries taking too long. I'm looking for ways to
> work around this and prevent the 'API' requests from
> timing out.
> I know some of the possible resolutions to this are
> - fix the queries
> - fix the database
> - frontend the RDBMS with NoSQL
> I'm working towards those fixes, but they are long
> term projects, I'm looking for an interim solution.
> That would notify the web application that it will
> need to come back later for the response (ie decouple
> request handling from the actual request/response).
> My attempt
> In my handler I fork a child process.
> In the parent I send a response with a
> 'job id' so the web application knows
> to poll the 'API' for completion.
> In the child I close the IO socket so it cannot send
> a response and then let it finish processing the
> request, but it looks like I've lost my database
> connections so the request fails.
> My wish
> What I would like to do is avoid the fork and instead
> have the handler send an early response to the
> web application and then finish processing the request
> and not try to send a response when done.
> Is there a common term for what I'm trying to do
> like continuation or something like that?
> Has anyone already done this?
> Thank you for your time.
> James R. Leu
> jleu at mindspring.com
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://firstname.lastname@example.org/
> Dev site: http://dev.catalyst.perl.org/
More information about the Catalyst