speedtables icon indicating copy to clipboard operation
speedtables copied to clipboard

stapi::refresh_ctable doesn't rewrite the TSV cachefile

Open mutability opened this issue 8 years ago • 6 comments

The TSV cachefile gets written once during ::stapi::open_cached, but then it never appears to get updated, even if you're calling ::stapi::refresh_ctable.

So for long-running processes that periodically refresh, the cache rarely gets used.

mutability avatar Mar 17 '16 11:03 mutability

With a long-running process, the in-memory speedtable is used. ISTR this was created to avoid having short-running processes beating on the speedtable server.

How would you envision long-running processes using the cache?

resuna avatar Apr 05 '16 14:04 resuna

On restart of the process, to reduce the recovery time? Loading from the cache seems to be substantially faster than loading by running the query.

mutability avatar Apr 05 '16 14:04 mutability

If the in-core table is completely up to date (re #51 ) then this would be worthwhile doing. If you know the in-core table is valid because you're performing a complete reload or because you know there are no deletions, then updating the table would be worthwhile.

This could be done automatically in reload_ctable or manually (with an update_cache call) after refresh_ctable.

resuna avatar Apr 05 '16 15:04 resuna

Should probably have set this to a non-zero value, originally.

  # Default "stale cache" timeout, zero for no timeout.
  variable default_timeout 0

resuna avatar Jul 11 '16 18:07 resuna

Have you tried setting the -timeout value (seconds) which is supposed to refresh the tsv file after $timeout seconds when you open it?

resuna avatar Jul 11 '16 18:07 resuna

Have a look at https://github.com/flightaware/speedtables/commit/bc8513cb00984b05a512fd7fc64abb9963fcc350

resuna avatar Jul 11 '16 20:07 resuna