You are here

Private update status cache system in Drupal 6

Same name and namespace in other branches
  1. 7 modules/update/update.module \update_status_cache

We specifically do NOT use the core cache API for saving the fetched data about available updates. It is vitally important that this cache is only cleared when we're populating it after successfully fetching new available update data. Usage of the core cache API results in all sorts of potential problems that would result in attempting to fetch available update data all the time, including if a site has a "minimum cache lifetime" (which is both a minimum and a maximum) defined, or if a site uses memcache or another plug-able cache system that assumes volatile caches.

Update module still uses the {cache_update} table, but instead of using cache_set(), cache_get(), and cache_clear_all(), there are private helper functions that implement these same basic tasks but ensure that the cache is not prematurely cleared, and that the data is always stored in the database, even if memcache or another cache backend is in use.

File

modules/update/update.module, line 509
The "Update status" module checks for available updates of Drupal core and any installed contributed modules and themes. It warns site administrators if newer releases are available via the system status report (admin/reports/status), the…

Functions

Namesort descending Location Description
update_flush_caches modules/update/update.module Implementation of hook_flush_caches().
update_invalidate_cache modules/update/update.module Invalidates all cached data relating to update status.
_update_cache_clear modules/update/update.module Invalidates specific cached data relating to update status.
_update_cache_get modules/update/update.module Retrieve data from the private update status cache table.
_update_cache_set modules/update/update.module Store data in the private update status cache table.