Looks like what you need is the job queue. Take a look at

Queue::DBI (https://metacpan.org/module/Queue::DBI) - simpler
TheSchwartz (https://metacpan.org/module/TheSchwartz)

Sergey

2012/8/20 James R. Leu <j...@mindspring.com>

> 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
> j...@mindspring.com
>
> _______________________________________________
> 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/
>
>
_______________________________________________
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