Magento cron and indexers: the background jobs checkout relies on
A Magento store does a lot of work when nobody is looking: reindexing, applying scheduled prices, sending order emails, cleaning up quotes. All of it runs from cron. When cron stops, nothing crashes — the store just slowly stops telling the truth.

What cron keeps running
Indexers keep prices, stock and catalog rules in sync with what the admin says. Scheduled jobs start and end promotions, send confirmation emails from the queue, and process message queue consumers that some payment and ERP modules depend on.
Cron usually stops for dull reasons: a server move that forgot the crontab, a job that hangs and blocks the rest, a lock left behind after a crash, a PHP version change on the command line.
How it reaches checkout
A promotion that should have started still shows the old price in the cart. Stock is not decremented, so products sell that are no longer there. Order confirmation emails pile up unsent, and customers write in asking whether their order went through.
Each symptom looks like a separate small bug. Together they point to one cause, which is why it helps to know that cron is the first thing to check.
Watch the heartbeat
Check that cron actually ran recently — the cron_schedule table shows the last successful jobs — and alert when it has been silent for longer than it should be. Look at indexers that stay “reindex required” or “processing” for hours.
An end-to-end checkout check covers the result: the cart shows the price you expect, the order goes through. Pair it with a cron heartbeat and you catch both the cause and the symptom. Related: message queue consumers and MSI salable quantity.
Check your own store now with the free Magento checkout test: it walks the checkout in a real browser, Luma or Hyvä, and shows the step where it stops.
Common questions
What happens if Magento cron stops?
Indexers fall behind, so prices and stock go stale; order emails queue up; pending payment orders are not cleaned; and queue consumers started by cron stop.
How do I check that Magento cron is running?
Look at the cron_schedule table for recent success rows, check the server crontab, and run bin/magento cron:run by hand to see errors.
Should indexers be on Update on Save or Update by Schedule?
Update by Schedule is recommended for production; it depends on cron running.