timesup
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-agebubbling but still
need to invalidate content based on time dimensions. See #2352009: 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
ChainResolverdesign 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 daytimesup:weekly: Will invalidate content every weektimesup:hourly: Will invalidate content every hourtimesup: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.