cron_actions
No security coverage
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