http://www.perlmonks.org?node_id=51447


in reply to program with a timer

An alternative to cron or NT's AT is to use your CGI program to retrieve the stock quotes when they have passed their "freshness" time. I've used this method to minimize requests to external hosts:

- maintain a database of stock symbols, quotes, and the last time retrieved.
- on each GGI request for a quote, retrieve the quote from the database. If it is not available or the last time retrieved is older than the max freshness time (say, five minutes), grab the quote from the external host and update the database.

This will ensure that application supplies the latest quotes (within five minutes) while avoiding unnecessary requests for quotes.