On Fri, Oct 2, 2009 at 10:47 AM, Ricardo Cantu <[email protected]> wrote:
> >
> > mod_fastcgi's FastCgiServer directive is similar in some respects to the
> > one I propose in this thread, but it has a key difference: It implies
> that
> > at least one instance/process will be maintained at all times,
> > irrespective of load.
> This can already be done with FCGIDDefaultMinClassProcessCount.
>
For better or for worse, MinClassProcessCount doesn't result in a pool of
processes being started. It means that a process that has exceeded its idle
time or process lifetime won't be terminated unless there are more than
MinClassProcessCount instances. (maybe it means other stuff too)
AFAICT, mod_fcgid only creates processes on-demand at present.
>
> >
> > The primary motivation for my new directive is to specify options that
> > sometimes need to be associated with the application itself and not with
> > the context of a particular request that the application can handle.
> This is perfect.
>
> > Regardless, an option like InitialProcesses could be specified to
> pre-spawn
> > processes.
> >
> > Another approach, instead of specifying something like InitialProcesses
> > with the other options, is to call this options directive
> > "FCGIDCommandOptions", and have another directive that specifies that
> the
> > command is in fact a "static application" (to borrow the terminology
> from
> > mod_fastcgi). Whether an application is started on demand or maintained
> > perpetually ("static application"), any options specified on
> > FCGIDCommandOptions would override settings from the vhost or defaults.
> >
>
> I like the FCGIDCommandOptions idea. There are really two concepts here
> that
> need to be addressed.
>
FCGIDCmdOptions is soon to be committed. Initially it will provide only a
different way to associate existing types of configuration with a command.
>
> One:
> Would you like your process pre-spawned (and how many) then controlled by
> the
> pm based on load and various other directives?
>
> Two;
> Would you like your process pre-spawned and left alone? (Expect for
> requests
> that need to be aborted due to hanging up the server)
>
>
Hopefully this can be implemented with one directive that specifies that a
certain number of copies of a command should be started, and existing
settings (and maybe a new setting or two) can control which of these two
flavors you get?