phpro / mage2-module-scheduler

phpro/mage2-module-scheduler

Cron Scheduler for Magento 2

magento2-module Compatibility: 2.4.7-2.4.9 Code Quality: Fail Tests: Fail Security: Pass MIT

Cron Scheduler for Magento 2

This module allows merchants and developers to easily view and manage Magento cron jobs in the backend of Magento 2.

Installation

composer require phpro/mage2-module-scheduler

How to use

Timeline

timeline

A timeline of the Magento jobs can be found under System / Cron Schedule / Schedule Timeline.
On this timeline we can easily:

  • see when a job executed
  • see when a job is successful, these are marked green
  • see when a job has failed, these are marked red
  • see at what time a job should be executed, these are marked gray

Schedule list

list

The timeline view is very similar to the list view, which we can find under System / Cron Schedule / Schedule list. With the schedule list you can easily:

  • schedule new jobs (by clicking on the 'Schedule job' button)
  • delete jobs (by selecting them and selecting 'Delete' from the actions dropdown)
  • filter jobs (ex. filter by cron status)

Job Configuration

list

We can easily disable cron jobs by using the System / Cron Schedule / Job Configuration view from which we can easily select and disable a cron job. Disabling a cron will prevent it from being scheduled.

Features

  • Visualisation of the cron jobs by list and timeline view
  • Add / remove jobs to the schedule
  • Control which jobs can be scheduled by Magento
  • Remove stalled jobs in 'running' status after a configured amount of time
  • Clean up ran or failed cron jobs

Configuration

list

The configuration for this module can be found under Stores / Configuration / Advanced / System / Cron

Running Job Lifetime:
The value for this field is in minutes. With it, you can determine when a job will be removed when its status is running.

Limit Entries In Timeline View:
With this we limit which cron jobs are visible in the timeline view. By default, we can select the following values:

  • Show All
  • Show past 24 hours
  • Show past 12 hours
  • Show past 6 hours

Changelog

[8.0.2]

Added

  • db_schema_whitelist.json has been added

Fixed

  • Fixed configuration not being loaded by default due to incompatibilities with Adobe Commerce. Cron Groups config by default is overriding the 'cron' path for system config.
  • Fixed the module loading the full cron collection to grab the last. This has been changed to a query that returns 1 result. This can improve performance in the backend of large shops.
  • We added an index on the 'created_at' field of cron_schedule to speed up loading the recent cron job message.

[8.0.1]

Added

  • Possibility to disable 'Cron Not Running' admin notification. Disabling it increases general performance of the backend.

[8.0.0]

Added

  • Support PHP 8.x
  • Drop Support Magento versions < 2.4.4

[6.0.0]

Added

  • Made it possible to limit the number of successful jobs on the timeline
  • Magento 2.4 compatibility
  • Dropped support magento versions < 2.3.x

Fixes

  • Empty timeline when there are no jobs in the system yet

[5.0.0] - 2020-07-31

Added

  • Notify the admin when the Magento cron is not running
  • Jobs can be removed in the Schedule List view
  • Jobs are sorted alphabetically
  • Made it possible to disable cron jobs
  • Number of jobs in the Timeline View can be limited to prevent out of memory errors
  • Timeline view of the cron schedule in the admin panel
  • Configuration view of the jobs in the admin panel
  • Visualisation of the cron schedule list in the admin panel
  • Made it possible to add jobs to the schedule
Versions
Version Stability QA Status Compatibility Released
8.0.2 stable Fail Magento 2.4.7-2.4.9 Details 2023-06-29 12:15:00
8.0.1 stable Not tested Not yet tested Details 2023-05-05 14:50:40
8.0.0 stable Not tested Not yet tested Details 2022-06-27 09:39:31
7.0.1 stable Not tested Not yet tested Details 2020-11-24 12:45:26
7.0.0 stable Not tested Not yet tested Details 2020-10-30 12:18:27
6.0.0 stable Not tested Not yet tested Details 2020-08-28 16:49:47
5.0.0 stable Not tested Not yet tested Details 2020-07-31 12:19:51

Requires 5

Package Constraint
php ^8.1
magento/framework ^103.0
magento/module-backend ^101.0|^102.0
magento/module-cron ^100.3
magento/module-ui ^101.1

Requires-dev 3

Package Constraint
magento/magento-coding-standard *
phpro/grumphp-shim ^1.0
phpunit/phpunit ~9.5.0

Compatibility

Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Pass Pass
2.4.8 Pass Pass
2.4.9 Pass Pass

Code Quality

Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge — a phpcs finding can't make a module incompatible.

Static analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

Static analysis results
Tool Status Findings Summary
PHPCS Fail 88 36 errors, 52 warnings (ruleset: Magento2) — 38 auto-fixable with phpcbf
PHPMD Warning 13 13 rule violations (MissingImport:9, UnusedFormalParameter:3, UnusedLocalVariable:1)
Cpd Pass 0
Composer validate Pass 0

PHPStan

Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases. Cell → details modal.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 6 6
2.4.8 6 6
2.4.9 6 6

Tests

Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.

Unit tests

Unit tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Error Error
2.4.8 Error Error
2.4.9 Error not tested

Integration tests

Integration tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Security

Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.

Security results
Tool Status Findings Summary
Composer audit N/A 0 no resolvable dependency tree to audit — Your requirements could not be resolved to an installable set of packages. Problem 1
Malware scan Pass 0
License
MIT
Authors

More from phpro

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.