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

Attachment: pgpBnkviNj3iK.pgp
Description: PGP signature

List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/

Reply via email to