- Home
- Blog
- Web developer
- Come configurare cron job su Magento 2 per evitare ordini bloccati e cache obsolete
Come configurare cron job su Magento 2 per evitare ordini bloccati e cache obsolete

Getting your Trinity Audio player ready... |
Magento 2 è una piattaforma e-commerce potente ma, come tutti gli ambienti complessi, richiede una configurazione dei cron job impeccabile per funzionare bene.
Se i cron job non sono attivi o non sono configurati correttamente, puoi ritrovarti con:
- Ordini in stato “processing” mai aggiornati
- Email transazionali non inviate
- Indici non ricostruiti
- Cache obsoleta
- Moduli come newsletter o sconti non funzionanti
Vediamo come configurare i cron job di Magento 2 passo passo, sia su hosting condiviso che su server dedicato.
✅ Cosa sono i cron job in Magento 2
I cron job sono operazioni programmate che Magento lancia a intervalli regolari per eseguire attività automatiche:
- Invio email ordine, fattura, spedizione
- Pulizia log e cache
- Reindicizzazione dati
- Attivazione di regole promozionali
- Sincronizzazione con moduli esterni (es. gateway pagamento)
🧩 1. Verifica se i cron sono attivi
Apri la tua shell o terminale nella root di Magento 2 e lancia:
php bin/magento cron:install php bin/magento cron:run Oppure verifica:
php bin/magento cron:status Se non ci sono errori, vuol dire che i cron job di base sono configurati.
🔧 2. Aggiungi i cron nel pannello del server
Su server con cPanel/Plesk
- Accedi a Cron Job o Gestione Cron.
- Aggiungi le righe cron per l’utente corretto (di solito
usernameophpuser).
Esempio comando cron classico:
*/5
* * * * /usr/bin/php /home/tuoutente/public_html/bin/magento cron:run |
grep -v "Ran jobs by schedule" >>
/home/tuoutente/public_html/var/log/magento.cron.log Questo comando esegue:
- Ogni 5 minuti
- Il file
cron:run - Salva l’output nel log
magento.cron.log
⚙️ 3. Quali cron configurare
Magento richiede 3 cron job separati:
- cron:run → esegue i job di base
- update/cron.php → per gli aggiornamenti di moduli e composer
- setup:cron:run → operazioni di setup e deploy
Esempio entry completa in crontab -e:
*/5
* * * * php /var/www/html/bin/magento cron:run | grep -v "Ran jobs by
schedule" >> /var/www/html/var/log/magento.cron.log */5 * * * *
php /var/www/html/update/cron.php >>
/var/www/html/var/log/update.cron.log */5 * * * * php
/var/www/html/bin/magento setup:cron:run >>
/var/www/html/var/log/setup.cron.log 🔍 4. Controlla se funzionano
- Vai in Admin > System > Cron Schedule
(Devi abilitare il moduloMagento_Cron) - Verifica che non ci siano job in pending da troppo tempo.
- Controlla i log cron (
var/log/magento.cron.log).
🛑 Errori comuni da evitare
❌ Usare wget o curl per triggerare cron via HTTP: inefficiente e insicuro.
❌ Eseguire i cron come root o utente sbagliato: i file generati potrebbero avere permessi errati.
❌ Non loggare l’output: se c’è un errore, non sai cosa è successo.
🗂️ Consiglio extra
Su server con traffico elevato, valuta di usare supervisord o systemd timer per cron persistenti: più affidabili di cron tradizionale per ambienti Magento enterprise.
🔚 Conclusione
Configurare correttamente i cron job su Magento 2 è fondamentale per:
✔️ Ordini aggiornati correttamente
✔️ Email inviate puntuali
✔️ Cache e indici sempre aggiornati
✔️ Nessun blocco di funzioni vitali
🛟 Serve una mano con i cron job di Magento?
Contattami: posso aiutarti a configurare, monitorare e ottimizzare cron job su hosting condivisi o server dedicati, per evitare blocchi improvvisi o ordini persi.