Provides cache-tags to deal with time sensitive data.

You need Times'up if

  • You want to regenerate caches of specific render-array based on a time
    E.g. Refresh the cache of my listing of Events every day.
  • You're using a CDN or any Reverse Proxy and you're aware of the Drupal limitation of max-age bubbling but still
    need to invalidate content based on time dimensions. See #2352009: [pp-3] Bubbling of elements' max-age to the page's headers and the page cache
  • You want to extend the existing feature with your own Periodicity Resolver
    E.g. Refresh the cache of my listing of Events every 7th of the month.

Features

  • Cache-tags by minutes, hours, days and months to invalidate render-array.
  • Invalidation occurs using the Drupal Cron core system.
  • Highly extendable code-base system using ChainResolver design pattern.

Defaults exposed cache tags

The system will store the last run of every periodicity (daily, weekly, ...) and use this date as relative to invalidate caches.

It means that timesup:daily will re-invalidate content only 1 day after his last run.

  • timesup:daily: Will invalidate content every day
  • timesup:weekly: Will invalidate content every week
  • timesup:hourly: Will invalidate content every hour
  • timesup:minutely: Will invalidate content every minute

Times'up versions

Times'up is available for Drupal 8, Drupal 9, Drupal 10 & Drupal 11(dev) !
The module is ready to be used in Drupal, there are no known issues.

Dependencies

The Drupal version of Times'up requires nothing !
Feel free to use it.

Times'up requires PHP 7.4+ to works properly. We recommend updating to at least PHP 8.1 if possible, and ideally PHP 8.2, which is supported as of Drupal 10.x.

Supporting organizations

This project is sponsored by Antistatique. We are a Swiss Web Agency, Visit us at www.antistatique.net or Contact us.

Supporting organizations: 

Project information

Releases