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
Timesup also expose a some less-relative cache invalidation.
timesup:midnight: Will invalidate content every day at midnight
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.
Project information
- Project categories: Developer tools, Performance
18 sites report using this module
- Created by wengerk on , updated
Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
