[cgiapp] CGIApp + FastCGI

fREW Schmidt frioux at gmail.com
Tue Jun 16 13:53:55 EDT 2009


On Tue, Jun 16, 2009 at 12:26 PM, Jeff MacDonald <jeff at interchange.ca>wrote:

>  If anyone can point me in a direction that would be helpful.
>>>
>>
>> You almost certainly are carrying data over from one request to the
>> next, and with multiple processes running the one that services
>> request number N+1 might not be the same one that served request
>> number N, so you might not have the data that you expect.
>>
>> The challenge of being neat and clean between requests exists for both
>> mod_perl and fastcgi.  It's touched on briefly here:
>>
>>  http://cgi-app.org/index.cgi?SitePerformance
>>
>> and if you search the site (from the search box on the front page) for
>> fastcgi and/or mod_perl, you'll see a couple of more references.
>>
>>  From the Notes secition of the CGI::Application::FastCGI man page:
>>>
>>
>>  Note that cgiapp_init() will be called only once under lifecycle of
>>  FastCGI. setup() will also only be called once. (you should not be
>>  doing magical things in 'setup'.) So if you want to do something
>>  for every REQUESTS, you should write the logic in cgiapp_prerun().
>>
>>
>
> I ended up going with the ModPerl::Registry route. So far it seems to be
> working quite well.
>
> Now, I just have to figure out how to print an alternative Header type , so
> my cgi can spit out PDF and excel files at users. :)
>
> Thanks folks. Your direction helped.
>

If you are using mod_perl it's really easy if you set up a
CGI::Application::Dispatch and then set up apache like this:
   <Perl>
      use lib 'path/to/lib';
   </Perl>
   <Location /acdri>
      SetHandler perl-script
      PerlHandler ACD::Dispatch
   </Location>

Then you should be able to set headers the regular cgiapp way.



-- 
fREW Schmidt
http://blog.afoolishmanifesto.com


More information about the cgiapp mailing list