simple_cron
Security covered
The Simple Cron is a light-weight module for cron job management.
The module provides a SimpleCron plugin that simplifies the implementation of new cron jobs. The build configuration form is also included in the SimpleCron plugin to make it easier to create a custom cron job settings.
Requirements
- PHP 8.1 or later
- dragonmantank/cron-expression
Features
- Cron job implementation using Plugin API
- Support Drupal core and contributed modules Cron's
- Support Drupal core and contributed modules Queues
- Configuration per cron job (enable/disable, crontab, etc.)
- Build configuration form per Plugin (No more custom configuration forms!)
- One plugin for multiple parallel tasks
- Status/Error messages per cron job
- Single cron job URL
- Drush support (list, start jobs from the command line)
Alternatives and similar modules
- Ultimate Cron - A more complex but flexible module that provides plugins for scheduling, launching, and logging cron jobs. It also uses a different implementation of new cron jobs.
Declaring new cron jobs
<?php
namespace Drupal\example_module\Plugin\SimpleCron;
use Drupal\simple_cron\Plugin\SimpleCronPluginBase;
/**
* Example cron job implementation.
*
* @SimpleCron(
* id = "example_cron_job",
* label = @Translation("Example cron job", context = "Simple cron")
* )
*/
class ExampleCron extends SimpleCronPluginBase {
/**
* {@inheritdoc}
*/
public function process(): void {
// Cron job process implementation.
}
}
See simple_cron_examples sub-module for more examples.