https://github.com/antistatique/drupal-timesup
Provides cache-tags to deal with time sensitive data.
https://github.com/antistatique/drupal-timesup
drupal drupal-8 drupal-module
Last synced: 4 months ago
JSON representation
Provides cache-tags to deal with time sensitive data.
- Host: GitHub
- URL: https://github.com/antistatique/drupal-timesup
- Owner: antistatique
- Created: 2020-03-04T10:52:27.000Z (over 6 years ago)
- Default Branch: 2.0.x
- Last Pushed: 2025-02-26T07:54:48.000Z (over 1 year ago)
- Last Synced: 2025-02-26T08:34:48.906Z (over 1 year ago)
- Topics: drupal, drupal-8, drupal-module
- Language: PHP
- Homepage: https://www.drupal.org/project/timesup
- Size: 108 KB
- Stars: 0
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Times'up
Provides cache-tags to deal with time sensitive data.
| Test-CI | Style-CI | Downloads | Releases |
|:----------------------:|:-----------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------:|
| [](https://github.com/antistatique/drupal-timesup/actions/workflows/ci.yml) | [](https://github.com/antistatique/drupal-timesup/actions/workflows/styles.yml) | [](https://ftp.drupal.org/files/projects/timesup-2.0.1.tar.gz) | [](https://www.drupal.org/project/timesup/releases) |
## 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](https://www.drupal.org/project/drupal/issues/2352009)
- 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 system.
* Highly extendable code-base system using ChainResolver design pattern.
* Enable or disable resolvers using configuration settings.
## 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
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, 9, 10 & Drupal 11 !
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.0+ 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](https://www.antistatique.net) or
[Contact us](mailto:info@antistatique.net).