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