Cron Scheduler
See and control every Magento cron job from the admin.
Check it fits your store
Questions about compatibility? Contact us.
Details
Magento Cron Scheduler lets you monitor, reschedule and run Magento cron jobs from System › Cron Scheduler in the admin, without editing XML or the crontab.
Magento Cron Scheduler monitoring tools
Timeline
See one row per job and one mark per run, with its length showing duration and its color and shape identifying success, error, running, missed or pending status.
- Choose the last hour, 6 hours, 24 hours, 3 days or a custom range.
- Zoom, jump to Now, filter by job code, group and status, and enable auto-refresh.
- Hover over or focus a run to inspect its group, created, scheduled, executed and finished times, plus the start of its message.
Task history
Review cron_schedule history in an admin grid with status badges, durations, filters, keyword search across job codes and messages, and saved views. Export to CSV or Excel XML, delete tasks in bulk, or open a task to read its full message, including any stack traces.
Cron health dashboard
Check when cron last ran. If it stops, the extension shows a warning and installation commands, plus an admin notice.
- Review runs, errors and missed runs from the last 24 hours, with an hourly chart.
- Identify top failing and longest-running jobs.
- Check currently running jobs, the pending backlog, missed jobs, manually started jobs and recent notifications.
Control jobs and schedules
Inspect every module's jobs, including each job's group, class, method, default schedule, active schedule and schedule source. See its status, last and next run, and errors from the last 24 hours.
- Enable or disable jobs.
- Change schedules with validation, plain-language descriptions and a preview of the next five run times.
- Reset schedules to their defaults.
- Queue jobs for the next cron run or run them immediately within your browser request, individually or in bulk.
Disabled jobs and changed schedules apply to Magento's real cron and persist through deployments.
Receive error alerts without repeated emails
Receive one email per check listing jobs that failed, were missed or ran too long. Use a time filter to limit repeated reports for frequently failing jobs, set include and exclude lists, and review notification history.
Manage cleanup, access and settings
- History cleanup: Delete finished runs after a configured number of days, daily or on demand.
- Command-line tools: List jobs, run one job with the cron lock, or clean up history.
- Access controls: Use separate ACL resources for the dashboard, timeline, tasks, task deletion, jobs, job changes, job execution and settings.
Manage timeline settings, email notifications, the cron health threshold and history cleanup under Stores › Configuration. Use System › Cron Scheduler for the admin pages.
Compatibility and requirements
- Magento Open Source or Adobe Commerce 2.4.7–2.4.9.
- PHP 8.2–8.5.
- Magento cron running with bin/magento cron:run every minute. The extension adds the ti_cronscheduler cron group.
- Magento email sending configured for email alerts.
The extension works only in the admin and cron and adds nothing to the storefront. It supports any storefront theme, including Luma, Luma-based themes and Hyvä. Hyvä requires no additional installation or build steps for this extension.
Edition options and included download
Choose the Community, Enterprise or Magento Cloud edition. This digital product includes the Cron Scheduler — Version 1.0.2 download.
Change Log
Version 1.0.2 – October 30, 2026
Improved
- Documentation: the extension is theme-independent and works with Luma, Luma-based and Hyvä storefronts (it only works in the admin and the cron and adds nothing to the storefront). No code changes.
Earlier versions (2)
Version 1.0.1 – October 27, 2026
Fixed
- No index on Magento's cron_schedule any more. 1.0.0 added CRON_SCHEDULE_SCHEDULED_AT_STATUS; setup:upgrade now drops it. All queries filter on the job codes and statuses, so Magento's own index (job_code, status, scheduled_at) serves them, and every query has a lower time bound.
- Tasks › Delete with "Select All" deleted by loading every matching row. It now deletes in batches with SQL, with the grid's filters and keyword search, and keeps running tasks. Selected rows are deleted by their IDs, and only selections of the Tasks grid are accepted.
- Jobs › Last Run no longer scans the whole history: it shows the last run of the last 7 days, or "No run in 7 days". The same applies to techimprovement:cron:jobs.
- Email notifications: a job failing every minute could hide the problems of other jobs. Problems already handled are now left out by the query, and all new problems are read page by page. An email that could not be sent is tried again by the next checks (up to 5 times). Problems are recognised by run, job and scheduled time, so they are not mixed up when Magento reuses task IDs. Problems of excluded jobs are no longer read again at every check. Missed runs of the extension's queue job are not reported.
- Queue to Run Now: Magento could delete a queued run before it ran, because it did not match the job's schedule. Queued jobs are now kept in the extension's own queue and run within a minute by the job ti_cronscheduler_run_queued, with the same lock as Magento's cron. A job that is running already waits up to an hour. Jobs queued with 1.0.0 get the result of their task, or an error when the task is no longer in the cron schedule.
- Run in This Request: the admin session is released before the job runs, so other admin pages of the same user no longer wait for the job. The result is shown above the job list. A run stopped by a PHP time limit, a fatal error or a killed process no longer stays "running": it is marked as an error with the next cron run.
- techimprovement:cron:run now starts the application like bin/magento cron:run (admin store, cron area and its configuration and translations).
- Disabled cron: when the cron is switched off in app/etc/env.php, jobs are no longer run or queued by hand, and the Jobs page and the dashboard say so.
- Disable / Enable: disabling a job marks its runs left "running" as errors (unless the job is running now). Enabling it removes the pending runs of the time it was disabled, which were reported as missed.
- Disabled jobs' history: the daily cleanup now applies the history settings of the job's cron group to disabled jobs, which Magento no longer cleans, and ends their runs stuck in "running" after a day.
- Daily cleanup: deletes at most 50,000 rows per run and kind (the next runs continue), with index-friendly queries, and runs with the queue job in the new cron group ti_cronscheduler, in its own process.
- Cron health: the time of the last cron run is read from the newest rows only and cached for a minute, as the admin notice asks on every page.
- Dashboard: "Running Now" counts in the database, and the running and overdue runs are read once per page.
Version 1.0.0 – October 26, 2026
New
- System › Cron Scheduler › Timeline: every cron run on a time axis, one row per job, colored and shaped by status and as long as the run took; ranges of 1 hour, 6 hours, 24 hours, 3 days or custom; zoom with buttons or Ctrl/⌘ and the mouse wheel; "Now" line and Go to Now; filters by job code, group and status; auto-refresh; details on hover and keyboard focus; keyboard navigation between runs; legend.
- System › Cron Scheduler › Tasks: grid of the cron schedule with status badges, durations, filters (including group and duration), keyword search in job codes and messages, saved views, CSV/Excel XML export, mass delete, newest first also for saved views without sorting, a cleanup of finished tasks older than a number of days, and a page per task with the full message.
- System › Cron Scheduler › Jobs: all jobs of all modules with group, class and method, module, default and effective schedule (changed here, from configuration, default or not scheduled), status, last and next run and errors of the last 24 hours; search, filters and sorting.
- Job actions, per job and for selected jobs: enable, disable (pending runs removed), edit schedule (validation, description and next 5 run times), reset to default, queue to run now, and run in the request (same lock as Magento's cron, recorded in the task list and in a run log with the admin username). Disabled jobs and changed schedules apply to Magento's cron, also for jobs whose schedule comes from the configuration.
- Email notifications about errors, missed runs and runs that take too long: one email per check, include and exclude lists with wildcards, a time filter per job, a history of reported problems. The email template is self-contained (no storefront header or footer) and shows the store name.
- System › Cron Scheduler › Dashboard: cron health from a heartbeat job with the crontab install commands when the cron has stopped, key figures and a chart of the last 24 hours, top failing, longest running and running jobs, pending backlog, missed jobs, jobs started by hand and recent notifications.
- Admin notice when the cron has not run for a configurable number of minutes.
- History cleanup: Magento's history settings per cron group shown in the settings, an optional daily deletion of finished runs older than N days, and the 90-day cleanup of the extension's own logs.
- Commands techimprovement:cron:jobs, techimprovement:cron:run and techimprovement:cron:clean.
- Role resources for the dashboard, timeline, tasks, deleting tasks, jobs, changing jobs, running jobs and the settings.
Reviews
Be the first to review Cron Scheduler
Reviews are written by customers with an account. Sign in to tell others how it works on your store.

