Colin Wetherbee wrote:
> At the moment (and not in a production environment), every time the
> drop-down list is generated for a web page, the script queries the
> database to retrieve the entire list of aircraft. I would prefer to
> retrieve the list of aircraft when each Perl interpreter starts and
> then not retrieve it again until the administrator sends a signal.
> For this particular table, the signal would only occur when new
> aircraft hit the market, like the Boeing 787 will (hopefully) in
> December of this year.
>
> The most UNIX-ish way to do this, I guess, would be to send SIGHUP to
> each running perl process, causing it to reload its configuration,
> update its stored lists, and so forth. I'd rather do this in a more
> Perl-ish or Apache-ish way, though, and I'd also rather be specific
> about which list it should update.


Wouldn't a simpler approach be to just restart Apache when you want to
update the lists? You could even have the 'add to list' function send
SIGUSR1 to the parent Apache, causing a graceful restart.

Having said that, if running 20 DB queries returning a few hundred
records is causing you a speed problem, are you sure the DB is running
efficiently? Is this a very high traffic site? Is there a requirement
for ultra-fast page generation? I've got pages that make dozens and
dozens of DB queries returning hundreds of records and do lots of
post-processing, and I can generate pages in under a second much of the
time.

cheers
John