Skip to content
Ethan Yehuda edited this page Dec 16, 2018 · 6 revisions

Introduction

The Cron Job Manager (CJM for short) is a set of tools that allow system administrators to fully leverage and observe Magento 2's native cron scheduler system. When Magento begins to behave unexpectedly, we need to quickly assess the root cause.

This Wiki will serve as the main source of documentation for any technical, procedural, and high level information for the Cron Job Manager. It is still a work in process.

Use Cases

Let's say new products were uploaded, but they never show up on the catalog / product listing page (we've all been here). The first thing you might do is reindex. If the products appear, that could mean something is wrong with the process that initiates the reindexing process in the background.

If you had the CJM installed, you can evaluate if:

  • the scheduling queue is stuck for some reason,

  • a custom cron job is taking an exorbitant amount of time,

  • there's a bug in Magento and a process has the status of 'running,' but it died a long time ago,

  • or maybe the system cron is just not running.

All of these are possible issues with Magento's process scheduling system that can be easily identified with the CJM.

What The CJM Is NOT

It is not a rewrite of Magento 2's native scheduling system. The CJM attempts to take no ownership over the functionality of the base scheduling mechanism that comes out of box with Magento 2. It only complements it by exposing lower level functionality and creating a simple backend interface for it.

It is not a rewrite of AOE_Scheduler. This goes back to taking "ownership" over the scheduling mechanism. AOE_Scheduler was a fantastic tool for Magento 1's scheduling system. Both the CJM and AOE_Scheduler have features that help shed light on what is happening behind the scenes. Where the CJM and AOE diverge is that the CJM has no intention of overriding Magento's scheduling queue.

How You Can Help (Contributing)

There are two ways you can help make this project better:

  1. Log issues

  2. Contribute Code

If you spot an issue, please log it in the bug tracking system.

If you want you wish to contribute code (bless your heart 🙏) please see our contribution guidelines page.

Clone this wiki locally