Cron Actions
Cron Actions provides a plugin-based system for site builders to schedule operations on entities at specific times. It allows combining a source that selects entities with an action that performs an operation, offering features like cron expression scheduling, cooldown throttling, and queue-based execution.
Features
What it does: Cron Actions provides a plugin-based system for executing scheduled operations on entities. Site builders configure "cron actions" that combine a source (what to process) with an action (what to do), running on a defined schedule.
Key features:
- Cron expression scheduling — Use standard 5-field cron syntax for precise control (e.g.,
0 9 * * 1-5for weekdays at 9 AM) - Plugin architecture — Extensible Source and Action plugins for custom behaviors
- Cooldown throttling — Prevent reprocessing the same entity within a configurable period
- Queue-based execution — Reliable asynchronous processing that won't timeout
- Built-in Mail Action — Send templated emails with token support
- Admin interface — Create and manage scheduled actions through the UI
Use cases:
- Send reminder emails to users inactive for 30+ days
- Notify authors when content is approaching expiration
- Trigger periodic maintenance on entities matching specific criteria
- Archive or unpublish outdated content automatically
Post-Installation
After enabling the module:
- Navigate to Administration → Configuration → System → Cron Actions
- Click Add cron action
- Configure your action:
- Label: A descriptive name
- Cron expression: When to run (e.g.,
0 0 * * *for daily at midnight) - Source plugin: Selects which entities to process
- Action plugin: Defines what operation to perform
- Cooldown days: Optional delay before reprocessing the same entity
- Save and ensure cron is running on your site
Permissions: Grant "Administer cron actions" to trusted roles that should manage scheduled actions.
Note: The module ships with a Mail Action plugin. To add custom sources or actions, developers can create plugins in a custom module (see README
for examples).
Additional Requirements
- Drupal 10 or Drupal 11
- PHP 8.2 or higher
- dragonmantank/cron-expression library (installed automatically via Composer)
No additional Drupal modules are required.
Recommended modules/libraries
- Token — Enables token replacement in the Mail Action plugin. When installed, you can use tokens like
[user:name]and[node:title]in email subject and body fields. - Ultimate Cron — Provides advanced cron job management if you need finer control over when Drupal cron
runs.
Similar projects
- Scheduler — Focused specifically on publishing/unpublishing content at scheduled times. Cron Actions is
more general-purpose, allowing any action on any entity type through its plugin system. - Rules — Provides event-condition-action workflows. Cron Actions focuses specifically on cron-triggered,
entity-targeted operations with built-in throttling. - ECA — A powerful automation framework. Cron Actions offers a simpler, focused solution for scheduled entity
processing without the complexity of a full automation system.
Supporting this Module
Development of this module is supported by the community. If you find it useful:
- Report issues and contribute patches in the issue queue
- Leave a review on the project page
Community Documentation
- See the README.md in the module for developer documentation and plugin examples
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
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 1.0.x-dev | Dev | 10–11 | Mar 3, 2026 |