perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Vanasco <modperl-l...@2xlp.com>
Subject Re: Forking to an interactive program under mod_perl
Date Wed, 13 Dec 2006 00:33:16 GMT

On Dec 12, 2006, at 6:13 PM, Robert Landrum wrote:

> Alex Beamish wrote:
>> What I'm trying to do is come up with scaled page images from a  
>> PDF on the fly. Thus, I want to launch Ghostscript and then ask  
>> for a couple of page images. So, launching Ghostscript and getting  
>> the first page might happen on the first request; subsequent  
>> requests would come back to the Ghostscript session left running  
>> from the first request, and thus would be able to quickly produce  
>> the required page image.
>> Suggestions welcome.
>
> What you're gonna need is a daemon that lives outside of mod_perl.   
> It's job will be to answer ghost script requests made from within  
> your mod_perl handler, track open files, purge unused files, and  
> generally do all the things you want to do.  I don't really see a  
> clean way to do it otherwise.

I'm going to agree with that.

There's no way to make sure that you'll have the same apache instance  
handle each request.   You need to either have an external daemon  
handle sessions ( and apache + cookies will id which session a user  
has ) or you'll need to forget about open files and resuming  
sessions, and just open files on every request.

I'd probably go for the latter option.  It sounds like you'll have a  
lot of overhead with  opening files on each request, but if you have  
a daemon handle it, you're going to have to write a ton of logic to  
handle
    how many concurrent files can be open
    what is the timeout
    what happens on errors

my  .02ยข -- keep the whole thing in MP, don't fork, write a  
wrapperclass to "save state" and resume on what you're doing with the  
ghostscript files, and serialize that data / save it  with  
Apache::Session.


// Jonathan Vanasco

| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - -
| FindMeOn.com - The cure for Multiple Web Personality Disorder
| Web Identity Management and 3D Social Networking
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - -
| RoadSound.com - Tools For Bands, Stuff For Fans
| Collaborative Online Management And Syndication Tools
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - -



Mime
View raw message