Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Cleaner

469 sites Security covered
View on drupal.org

This module provides automated cache clearing and cleanup of old sessions on a scheduled basis. It helps prevent issues that can arise from large cache tables, particularly on sites that use complex features like Panels, NodeQueue, and Views.

The Cleaner module allows the admin to set a schedule for clearing caches, watchdog, and old sessions.

There are still times and/or cache tables that don't get cleared in any of those scenarios. Many sites will not be impacted by this, but a few will (just search on drupal.org and you will see many posts from people having problems).

Before you dismiss this module as "silly," which I did for a while after writing it, consider an actual experience. I maintain a site that is based on Panels, NodeQueue, and Views. In this set up, the cache entries can get very large after some time. MySQL has a parameter ("max_allowed_packet") that limits how much data can be read in. If this limit is exceeded, MySQL does not throw an error, rather it just provides what data it could read. With no error indication, the site just goes merrily on its way with what was given to it. In this case both the panel definition and NodeQueue contents went haywire. Clearing the cache resolved the issue for the moment.

Then I remembered this module that I had written and dismissed as "silly" after getting it working. Now, I will admit that the hooks provided here probably are "silly" but I had included them originally, so they are still there. I don't know why anyone would use them, but if you want, knock yourself out.

Important changes:

8.x-1.x branch was deprecated and no longer be supported
8.x-2.x branch was deprecated and no longer be supported
3.0.x branch is created for Drupal 10/11 support

Found a bug or have a new feature idea?

Welcome -> Create an issue queue

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Dec 2025
Latest release
8 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Slowing

Releases

Version Type Core Release date
3.0.0-alpha1 Pre-release 10–11 Dec 5, 2025
3.0.x-dev Dev 10–11 Dec 5, 2025