Re: Using Apache::Reload in development environment?
On Sun, 29 Jul 2001, Philip Mak wrote: I have a site running mod_perl that I'm constantly making changes to. What do I have to do in order to make it so that when I edit any file (either a .pl script directly called on the site, or a .pm module that my perl script uses), then the changes will take effect automatically? I would rather not have to go into each file manually and put use Apache::Reload. Do I just put PerlInitHandler Apache::Reload in httpd.conf? Is there anything else that I have to do? no (re-)?read the manpage. it's all there. It's possible that Matt wants to add other options to the SYNOPSIS section, as not everybody bothers to read the manpage. I think people are used to see all of the functionality covered in SYNOPSIS. _ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://apachetoday.com http://eXtropia.com/ http://singlesheaven.com http://perl.apache.org http://perlmonth.com/
Re: Using Apache::Reload in development environment?
On Mon, 30 Jul 2001, Stas Bekman wrote: no (re-)?read the manpage. it's all there. It's possible that Matt wants to add other options to the SYNOPSIS section, as not everybody bothers to read the manpage. I think people are used to see all of the functionality covered in SYNOPSIS. In perldoc Apache::Reload, the DESCRIPTION has the following sections: - StatINC Replacement - Register Modules Implicitly - Register Modules Explicitly - Special Touch File I just re-read it again and realized that StatINC Replacement is what I wanted... although it wasn't obvious from just reading the header since I don't know what StatINC is. Re-reading the first paragraph of DESCRIPTION, I see that it implies that StatINC always checks the modification time of the file. I was also somewhat confused as to what PerlSetVar ReloadAll does since that perldoc page did not have an explicit definition, only examples of it being used.
Re: Using Apache::Reload in development environment?
--On 30/07/01 06:43 -0400 Philip Mak wrote: In perldoc Apache::Reload, the DESCRIPTION has the following sections: - StatINC Replacement - Register Modules Implicitly - Register Modules Explicitly - Special Touch File I just re-read it again and realized that StatINC Replacement is what I wanted... although it wasn't obvious from just reading the header since I don't know what StatINC is. Re-reading the first paragraph of DESCRIPTION, I see that it implies that StatINC always checks the modification time of the file. I was also somewhat confused as to what PerlSetVar ReloadAll does since that perldoc page did not have an explicit definition, only examples of it being used. PerlSetVar ReloadAll will reload all modules. That might take some time, so you might want to reload only your own modules, in which case you set it to Off, and add a directive to reload only your tree, such as PerlSetVar ReloadModules Foo::* Bar::* -- Eric Cholet 145C FF7F 7920 04B0 7BA3 48D8 5591 E2C0 6664 C078
Using Apache::Reload in development environment?
I have a site running mod_perl that I'm constantly making changes to. What do I have to do in order to make it so that when I edit any file (either a .pl script directly called on the site, or a .pm module that my perl script uses), then the changes will take effect automatically? I would rather not have to go into each file manually and put use Apache::Reload. Do I just put PerlInitHandler Apache::Reload in httpd.conf? Is there anything else that I have to do?
RE: Development Environment
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. Thanks, 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.
Re: Development Environment
Hello, STI was wondering if anyone has successfully setup a development STenvironment to allow for multiple development copies of modules used STwithin Mason components. Also, to have the appropriate changes to the STmodules 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). GEDIs there some reason you don't want to run several independent GEDinstances 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. Humbly, Andrew -- Andrew Ho http://www.tellme.com/ [EMAIL PROTECTED] Engineer [EMAIL PROTECTED] Voice 650-930-9062 Tellme Networks, Inc. 1-800-555-TELLFax 650-930-9101 --
Re: Development Environment
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. 73, Ged.
Re: Development Environment
"AH" == Andrew Ho [EMAIL PROTECTED] 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... -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Vivek Khera, Ph.D.Khera Communications, Inc. Internet: [EMAIL PROTECTED] Rockville, MD +1-240-453-8497 AIM: vivekkhera Y!: vivek_khera http://www.khera.org/~vivek/
Re: Development Environment
Hello, AHWhat if there are 20 mod_perl developers at your company? You either need AHto do admin work to partition the developers by what modules they write, AHor run 20 Apache instances, which may be very expensive. VKAnd these 20 developers don't have workstations of their own? You can VKbuild a development environment on a workstation just as easily as you VKcan 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. Humbly, Andrew -- Andrew Ho http://www.tellme.com/ [EMAIL PROTECTED] Engineer [EMAIL PROTECTED] Voice 650-930-9062 Tellme Networks, Inc. 1-800-555-TELLFax 650-930-9101 --
Re: Development Environment
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. At 11:37 AM 1/31/01 -0500, Vivek Khera wrote: "AH" == Andrew Ho [EMAIL PROTECTED] 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... -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Vivek Khera, Ph.D.Khera Communications, Inc. Internet: [EMAIL PROTECTED] Rockville, MD +1-240-453-8497 AIM: vivekkhera Y!: vivek_khera http://www.khera.org/~vivek/ __ Gunther Birznieks ([EMAIL PROTECTED]) eXtropia - The Web Technology Company http://www.extropia.com/
Development Environment
I was wondering if anyone has successfully setup a development environment to allow for multiple development copies of modules used within Mason components. Also, to have the appropriate changes to the modules shown within the development environment. Thanks, Stathy Touloumis Coder if ( eval{ $you = require Perl } ) { $you = '?3r1 H@c|3r' } Edventions 8800 Bronx Ave Skokie, IL 60077 www.edventions.com [EMAIL PROTECTED]
Re: Development Environment
Hi there, On Tue, 30 Jan 2001, Stathy Touloumis wrote: I was wondering if anyone has successfully setup a development environment to allow for multiple development copies of modules used within Mason components. Also, to have the appropriate changes to the modules shown within the development environment. Is there some reason you don't want to run several independent instances of Apache? 73, Ged.