modperl_development_simultaneous_use_different_versions

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.




===
To: mod_perl List <modperl@apache.org>
From: Andrew Ho <andrew@tellme.com>
Subject: Re: Development Environment
Date: Wed, 31 Jan 2001 01:42:35 -0800 (PST)

Hello,

ST>I was wondering if anyone has successfully setup a development
ST>environment to allow for multiple development copies of modules used
ST>within Mason components. Also, to have the appropriate changes to the
ST>modules shown within the development environment.

This can also be a general mod_perl question, because it's also not easily
solved for handlers and shared Perl modules (there are a couple hacks,
like translating the source code to munge package names, but they're
usually not pretty).

GED>Is there some reason you don't want to run several independent
GED>instances of Apache?

What if there are 20 mod_perl developers at your company? You either need
to do admin work to partition the developers by what modules they write,
or run 20 Apache instances, which may be very expensive.

===
To: Andrew Ho <andrew@tellme.com>
From: "G.W. Haywood" <ged@www.jubileegroup.co.uk>
Subject: Re: Development Environment
Date: Wed, 31 Jan 2001 10:12:49 +0000 (GMT)

Hi Andrew,

On Wed, 31 Jan 2001, Andrew Ho wrote:

> What if there are 20 mod_perl developers at your company? You either need
> to do admin work to partition the developers by what modules they write,
> or run 20 Apache instances, which may be very expensive.

Yes, it's a lot of work to set up an environment for many developers
to work in.  I work on servers which do this sort of thing now.  As
we're all working on the same project, we have a single httpd.conf for
all Apache instances on the develpopment server(s) plus for example
ghhttpd.conf for my own personal settings where they differ from those
which the others are using at the time.  In httpd.conf there's a
section something like this:

 <IfDefine ghhttpd>
  ServerRoot /home/ged/whateverServerRoot
  DocumentRoot /home/ged/whateverDocumentRoot
  Port 4321
  User ged
  Group nogroup
  ErrorLog /home/ged/log/error_log
  CustomLog /home/ged/log/access_log combined
  PidFile /tmp/ghttpd.pid
  LockFile /tmp/ghttpd.lock
  Include conf/ghcustom.conf
</IfDefine>

and my httpd instance is started something like this:

/path/to/httpd -Dghhttpd -f....

so that the appropriate personalization is used.

I very rarely need my ghhttpd.conf.

===

To: Vivek Khera <khera@kciLink.com>, mod_perl List
<modperl@apache.org>
From: Gunther Birznieks <gunther@extropia.com>
Subject: Re: Development Environment
Date: Thu, 01 Feb 2001 09:32:29 +0800

At 11:37 AM 1/31/01 -0500, Vivek Khera wrote:
> >>>>> "AH" == Andrew Ho <andrew@tellme.com> writes:
>
>AH> What if there are 20 mod_perl developers at your company? You either need
>AH> to do admin work to partition the developers by what modules they write,
>AH> or run 20 Apache instances, which may be very expensive.
>
>And these 20 developers don't have workstations of their own?  You can
>build a development environment on a workstation just as easily as you
>can on a server...

I agree. I've seen many people try to do shared
memory/cached programming in one server and it just doesn't
work very well in practice. It only takes one programmer a
typo to take everyone else down until the bug is fixed.

 From Jakarta/Tomcat to IIS to Apache/mod_perl. Developers
having their own workstation is the best for testing and
active development. Of course, a staging server needs to be
shared. But it's a lot cleaner once the developer has
debugged their own code.


=====

To: Vivek Khera <khera@kciLink.com>
From: Andrew Ho <andrew@tellme.com>
Subject: Re: Development Environment
Date: Wed, 31 Jan 2001 20:56:50 -0800 (PST)

Hello,

AH>What if there are 20 mod_perl developers at your company? You either need
AH>to do admin work to partition the developers by what modules they write,
AH>or run 20 Apache instances, which may be very expensive.

VK>And these 20 developers don't have workstations of their own? You can
VK>build a development environment on a workstation just as easily as you
VK>can on a server...

Not if there are platform-specific dependencies. Say your servers are
heavy duty Sparc machines, and you maintain code for Solaris Sparc only.
Buying workstations for everybody can be quite expensive in that case.

===

To: "mod_perl List" <modperl@apache.org>
From: "Stathy Touloumis" <stathy.touloumis@edventions.com>
Subject: RE: Development Environment
Date: Thu, 1 Feb 2001 09:42:47 -0600

I actually was nearlly successful in accomplishing some sort of mechanism by
which developer packages can be mapped to a virtual package which the real
package points to (did this make sense?).  Anyway, it needed to tap into the
symbol table way too extensively and ran into several problems.

I also thought about configuring the apache server differently on
development so that child processes get recycled much faster than on
production so as to allow for each request to use it's own memory.  This can
be resource intensive but again it would only be on development.  Also,
packages/modules will need to be called on a per request basis in
development.

I will let you know if it is feasible.

===
To: "mod_perl List" <modperl@apache.org>
From: "Stathy Touloumis" <stathy.touloumis@edventions.com>
Subject: RE: Development Environment
Date: Thu, 1 Feb 2001 10:49:28 -0600

With the 'MaxRequestsPerChild' setting to 1 this seems to be fairly
effective.  I am not running into any of these issues I ran into before with
namespace collision.  I am not sure how this would scale for larger teams
( 20+ developers ) but it will do for our environment.

===


the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu