SB> What you want to do is to shutdown servers if some timestamp file
SB> has changed, but you want to do it at random. First of all don't you
SB> think it's a problem  if different servers will run different code
SB> sets?

Yes, sure, for changes where old and new running at the same time, I
would be careful to do a full apachectl restart. But I'm after ease of
doing little changes. Cosmetic ones, mainly. Which since I am
refactoring a lot at present, are most of them. Dozens a day. I like to
see them in production, and get feedback immediately, rather than work
in isolation on a "v2" system for days then roll out a huge list of
them.

SB> Second, you could write a similar to Apache::SizeLimit handler module, which 
SB> will determine when to terminate the process, but the problem is that you need 
SB> to reload the parent server anyway if you don't rely on Apache::Reload.

Penny drops -- I can do this in my own exit handler, no? where I am
doing housekeeping, and possible child termination anyway. I could even
syntax check the new code to stop corrupt files or *cough* programmer
mistakes. Since I'm still using Registry, I'd disable its checking of
file timestamps. But why do I need to worry about the parent server, if
the parent server has a fixed code base (a fixed set of library use's in
startup.pl and not the "code" as such)?

SB> The only realistic solution I can think of is to subclass Apache::Reload not 
SB> to reload the modules when the timestamp file has changed, unless your rule 
SB> applies (e.g. randomize it, or whatever). You lose the shared memory benefit 
SB> here and better off not use Apache::Reload in production.

thanks!


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html

Reply via email to