Cron jobs
Speaking of cron
jobs, it is worth noting one important thing. A Magento cron
job is not the same as an operating system cron
job. An operating system cron
is driven by a crontab
(short for cron
table) file. The crontab
file, is a configuration file that specifies shell commands that need to be run periodically on a given schedule.
A Magento cron
job is driven by a periodic execution of PHP code that handles entries in the cron_schedule
table. The cron_schedule
table is where Magento cron
jobs are queued once they are picked up from the individual crontab.xml
file.
The Magento cron
jobs cannot be executed without the operating system cron
job being set to execute the php bin/magento cron:run
command. Ideally, an operating system cron
job should be set to trigger Magento's cron:run
every minute. Magento
will then internally execute its cron
jobs according to the way an individual cron
job is defined in the crontab.xml
file.
To define a new cron
job in Magento cron
, we first need to...