From dev-return-66090-apmail-httpd-dev-archive=httpd.apache.org@httpd.apache.org Fri Oct 02 11:35:35 2009 Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 89464 invoked from network); 2 Oct 2009 11:35:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 2 Oct 2009 11:35:35 -0000 Received: (qmail 73816 invoked by uid 500); 2 Oct 2009 11:35:34 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 73742 invoked by uid 500); 2 Oct 2009 11:35:34 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 73733 invoked by uid 99); 2 Oct 2009 11:35:34 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Oct 2009 11:35:34 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of trawick@gmail.com designates 72.14.220.158 as permitted sender) Received: from [72.14.220.158] (HELO fg-out-1718.google.com) (72.14.220.158) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Oct 2009 11:35:24 +0000 Received: by fg-out-1718.google.com with SMTP id e21so1872973fga.12 for ; Fri, 02 Oct 2009 04:35:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=pCOVLAN2vOwei/Bon9ROJ5DHi45m6uZMgCBjOtaBJaE=; b=cWl7bLcbdVY+vqIIa9/vhMFy3/4/GV/7smuruLILx0MB1cJlWFCphPayOAzoYmQMAZ xPHXHeNFCdYzNG7WmAEfm1EOoxFoTFIL99H4Kd4s5FQFS2bNvUM29665hYUgN63LyOXV yt1CmrprPoifo3Ugb5tTy5lx0gW5vW7dsBm1w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=pVc8lunIUZepeiIlst7E1Dss6SzZ5B6u6DFbWG6iZ6701roquISuxC+XK+hgVz4Y96 eJojVw3NUNORGIzAAPXD3levlw+n8NjZpMnvMkxMjvcoUGBbOI4uqR6TC3B6CHU+yCvh K72tgKMDLQBY1sKVR+Cb2BdENNGAgHdbjXS8k= MIME-Version: 1.0 Received: by 10.86.187.27 with SMTP id k27mr2210626fgf.11.1254483303843; Fri, 02 Oct 2009 04:35:03 -0700 (PDT) In-Reply-To: <4AC5C4AE.3010606@onelan.co.uk> References: <4AC5C4AE.3010606@onelan.co.uk> Date: Fri, 2 Oct 2009 07:35:03 -0400 Message-ID: Subject: Re: [mod_fcgid proposal] defining processing options for particular commands From: Jeff Trawick To: dev@httpd.apache.org Content-Type: multipart/alternative; boundary=00163600d853b3c80d0474f2272d X-Virus-Checked: Checked by ClamAV on apache.org --00163600d853b3c80d0474f2272d Content-Type: text/plain; charset=ISO-8859-1 On Fri, Oct 2, 2009 at 5:15 AM, Barry Scott wrote: > Jeff Trawick wrote: > >> (instead of based on uri or vhost) >> >> FCGIDCommand /path/to/command >> IdleTimeout n >> MaxProcessLifetime n >> MinProcesses n >> MaxProcesses n >> MaxRequestsPerProcess n >> InitialEnv var[=val] ... >> >> >> (the names of these options follow my proposal for the names of existing >> directives ;) ) >> >> When a command is to be started by mod_fcgid, any options specified for >> the command on this directive override those defined for the uri, vhost, >> global, or the defaults. When a wrapper is used, it is that wrapper which >> must be specified on this directive. This directive is not required unless >> one or more options must be customized for a command. >> >> Initially this would be allowed only in global sections. >> InitialEnv can be repeated. >> >> Regarding *class*: Something is needed to disable or alter existing >> management of applications based on their class. Currently a class is >> limited to the processes started by the same command within the same vhost >> (except when ServerName isn't specified) with the same identity. >> >> One possibility is to provide an option to ignore the vhost name when >> managing the class (IgnoreVHost or ClassIsGlobal). Another possibility is >> to set the name of the class to be used in lieu of the virtual host >> (ClassName foo), which could be used to the same effect but might be more >> useful in the future when the process manager can see per-server configs >> (for existing directives as well as FCGIDCommand). >> >> None of this would affect the identity checks. (Processes with different >> uid/gid would never be considered to be in the same class.) >> >> This seems to offer all the features of mod_fastcgi process configuration > and then go usefully beyond what mod_fastcgi does. > Thanks for looking. Does anyone else care to comment? > > Is it possible to also ask for the fcgi process to be started before any > request arrive? > Sure. I guess there could be some "InitialProcesses n" option on this directive. (If this appears to be forgotten, open a bug at https://issues.apache.org/bugzilla/ and set the severity to "enhancement." Product = Apache httpd-2, component = mod_fcgid.) BTW, do you need to pre-spawn just on general principle (don't want any initial delay), or is the on-demand spawning not aggressive enough, such that it takes too long to create an adequate number of application processes? --00163600d853b3c80d0474f2272d Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On Fri, Oct 2, 2009 at 5:15 AM, Barry Scott <barry.scott@o= nelan.co.uk> wrote:
Jeff Trawick wrote:
(instead of based on uri or vhost)

FCGIDCommand /path/to/command
=A0IdleTimeout n
=A0MaxProcessLifetime n
=A0MinProcesses n
=A0MaxProcesses n
=A0MaxRequestsPerProcess n
=A0InitialEnv var[=3Dval] ...
=A0<class>

(the names of these options follow my proposal for the names of existing di= rectives ;) )

When a command is to be started by mod_fcgid, any options specified for the= command on this directive override those defined for the uri, vhost, globa= l, or the defaults. =A0When a wrapper is used, it is that wrapper which mus= t be specified on this directive. =A0This directive is not required unless = one or more options must be customized for a command.

Initially this would be allowed only in global sections.
InitialEnv can be repeated.

Regarding *class*: =A0Something is needed to disable or alter existing mana= gement of applications based on their class. =A0Currently a class is limite= d to the processes started by the same command within the same vhost (excep= t when ServerName isn't specified) with the same identity.

One possibility is to provide an option to ignore the vhost name when manag= ing the class (IgnoreVHost or ClassIsGlobal). =A0Another possibility is to = set the name of the class to be used in lieu of the virtual host (ClassName= foo), which could be used to the same effect but might be more useful in t= he future when the process manager can see per-server configs (for existing= directives as well as FCGIDCommand).

None of this would affect the identity checks. =A0(Processes with different= uid/gid would never be considered to be in the same class.)

This seems to offer all the features of mod_fastcgi process configuration a= nd then go usefully beyond what mod_fastcgi does.

= Thanks for looking.=A0 Does anyone else care to comment?
=A0

Is it possible to also ask for the fcgi process to be started before any re= quest arrive?

Sure.=A0 I guess there could be some= "InitialProcesses n" option on this directive.=A0 (If this appea= rs to be forgotten, open a bug at https://issues.apache.org/bugzilla/ and set the severity to &quo= t;enhancement."=A0 Product =3D Apache httpd-2, component =3D mod_fcgid= .)

BTW, do you need to pre-spawn just on general principle (don't want= any initial delay), or is the on-demand spawning not aggressive enough, su= ch that it takes too long to create an adequate number of application proce= sses?

--00163600d853b3c80d0474f2272d--