{"id":20036979,"url":"https://github.com/antistatique/drupal-timesup","last_synced_at":"2026-02-13T15:23:25.756Z","repository":{"id":47770749,"uuid":"244876349","full_name":"antistatique/drupal-timesup","owner":"antistatique","description":"Provides cache-tags to deal with time sensitive data.","archived":false,"fork":false,"pushed_at":"2025-02-26T07:54:48.000Z","size":111,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"2.0.x","last_synced_at":"2025-02-26T08:34:48.906Z","etag":null,"topics":["drupal","drupal-8","drupal-module"],"latest_commit_sha":null,"homepage":"https://www.drupal.org/project/timesup","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antistatique.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-04T10:52:27.000Z","updated_at":"2025-02-26T07:54:26.000Z","dependencies_parsed_at":"2024-06-27T08:43:58.345Z","dependency_job_id":"a86ade7b-63ad-49a6-bbad-e60307952bb7","html_url":"https://github.com/antistatique/drupal-timesup","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antistatique%2Fdrupal-timesup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antistatique%2Fdrupal-timesup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antistatique%2Fdrupal-timesup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antistatique%2Fdrupal-timesup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antistatique","download_url":"https://codeload.github.com/antistatique/drupal-timesup/tar.gz/refs/heads/2.0.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241466380,"owners_count":19967452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drupal","drupal-8","drupal-module"],"created_at":"2024-11-13T10:17:38.136Z","updated_at":"2026-02-13T15:23:25.743Z","avatar_url":"https://github.com/antistatique.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Times'up\n\nProvides cache-tags to deal with time sensitive data.\n\n|       Test-CI        |        Style-CI         |                                                                      Downloads                                                                       |                                                                      Releases                                                                       |\n|:----------------------:|:-----------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------:|\n| [![Build Status](https://github.com/antistatique/drupal-timesup/actions/workflows/ci.yml/badge.svg)](https://github.com/antistatique/drupal-timesup/actions/workflows/ci.yml) | [![Code styles](https://github.com/antistatique/drupal-timesup/actions/workflows/styles.yml/badge.svg)](https://github.com/antistatique/drupal-timesup/actions/workflows/styles.yml) | [![Downloads](https://img.shields.io/badge/downloads-2.0.1-green.svg?style=flat-square)](https://ftp.drupal.org/files/projects/timesup-2.0.1.tar.gz) | [![Latest Stable Version](https://img.shields.io/badge/release-v2.0.1-blue.svg?style=flat-square)](https://www.drupal.org/project/timesup/releases) |\n\n## You need Times'up if\n\n- You want to regenerate caches of specific render-array based on a time\nE.g. Refresh the cache of my listing of Events every day.\n\n- You're using a CDN or any Reverse Proxy and you're aware of the Drupal\nlimitation of `Max-Age` bubbling but still need to invalidate content based on\ntime dimensions. See [#2352009](https://www.drupal.org/project/drupal/issues/2352009)\n\n- You want to extend the existing feature with your own Periodicity Resolver\nE.g. Refresh the cache of my listing of Events every 7th of the month.\n\n## Features\n\n* Cache-tags by minutes, hours, days and months to invalidate render-array.\n\n* Invalidation occurs using the Drupal Cron system.\n\n* Highly extendable code-base system using ChainResolver design pattern.\n\n* Enable or disable resolvers using configuration settings.\n\n## Defaults exposed cache tags\n\nThe system will store the last run of every periodicity (daily, weekly, ...)\nand use this date as relative to invalidate caches.\n\nIt means that `timesup:daily` will re-invalidate content only 1 day after his\nlast run.\n\n* `timesup:daily`: Will invalidate content every day\n* `timesup:weekly`: Will invalidate content every week\n* `timesup:hourly`: Will invalidate content every hour\n* `timesup:minutely`: Will invalidate content every minute\n\nTimesup also expose a some less-relative cache invalidation.\n\n* `timesup:midnight`: Will invalidate content every day at midnight\n\n## Times'up versions\n\nTimes'up is available for Drupal 8, 9, 10 \u0026 Drupal 11 !\nThe module is ready to be used in Drupal, there are no known issues.\n\n## Dependencies\n\nThe Drupal version of Times'up requires nothing !\nFeel free to use it.\n\nTimes'up requires PHP 7.0+ to works properly. We recommend updating to at least\nPHP 8.1 if possible, and ideally PHP 8.2, which is supported as of Drupal 10.x.\n\n## Supporting organizations\n\nThis project is sponsored by Antistatique. We are a Swiss Web Agency,\nVisit us at [www.antistatique.net](https://www.antistatique.net) or\n[Contact us](mailto:info@antistatique.net).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantistatique%2Fdrupal-timesup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantistatique%2Fdrupal-timesup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantistatique%2Fdrupal-timesup/lists"}