Configurare i processi cron

WARNING
Tutti i comandi CLI di Magento devono essere eseguiti dal proprietario del file system.

Diverse funzioni di Commerce richiedono almeno un processo cron, che pianifica le attività in modo che si verifichino in futuro. Segue un elenco parziale di tali attività:

  • Regole prezzo catalogo
  • Newsletter
  • Generazione di sitemap Google
  • Avvisi/notifiche cliente (modifica del prezzo del prodotto, prodotto di nuovo in magazzino)
  • Reindicizzazione
  • Vendite private (solo Adobe Commerce)
  • Aggiornamento automatico dei tassi di cambio
  • Tutti i messaggi di posta elettronica di Commerce (inclusi quelli di conferma e quelli transazionali)
WARNING
Non è più possibile eseguire dev/tools/cron.sh perché lo script è stato rimosso.
INFO
Commerce dipende dalla corretta configurazione dei processi cron per molte importanti funzioni di sistema, inclusa l’indicizzazione. Se non viene configurato correttamente, Commerce non funzionerà come previsto.

I sistemi UNIX pianificano le attività che devono essere eseguite da determinati utenti utilizzando un crontab, ovvero un file contenente istruzioni per il daemon cron che indicano al daemon di eseguire il comando in questa data. Ogni utente dispone di una propria scheda cronologica e i comandi in una determinata scheda cronologica vengono eseguiti come l'utente proprietario.

Per eseguire cron in un browser Web, vedere Secure cron.php per l'esecuzione in un browser.

Creare o rimuovere la scheda cronologica di Commerce

Questa sezione illustra come creare o rimuovere la scheda cronologica di Commerce (ovvero la configurazione per i processi Commerce Cron).

crontab è la configurazione utilizzata per eseguire i processi cron.

L’applicazione Commerce utilizza attività cron che possono essere eseguite con configurazioni diverse. La configurazione della riga di comando PHP controlla il processo cron generale che reindicizza gli indicizzatori, genera e-mail, genera la sitemap e così via.

WARNING
  • Per evitare problemi durante l'installazione e l'aggiornamento, si consiglia vivamente di applicare le stesse impostazioni PHP sia alla configurazione della riga di comando PHP che alla configurazione del plug-in del server Web PHP. Per ulteriori informazioni, vedere Impostazioni PHP richieste.
  • In un sistema a più nodi, crontab può essere eseguito su un solo nodo. Questo vale solo se imposti più nodi web per motivi legati alle prestazioni o alla scalabilità.

Creare la scheda cronologica di Commerce

A partire dalla versione 2.2, Commerce crea una scheda Cronc per te. Aggiungiamo la scheda cronologica Commerce a qualsiasi scheda cronologica configurata per il proprietario del file system Commerce. In altre parole, se hai già impostato le schede cronologiche per altre estensioni o applicazioni, vi aggiungiamo la scheda cronologica Commerce.

La scheda cronologica di Commerce si trova all'interno di #~ MAGENTO START e #~ MAGENTO END commenti nella scheda cronologica.

Per creare la scheda cronologica di Commerce:

  1. Accedi come proprietario del file system o passa a tale proprietario.

  2. Passare alla directory di installazione di Commerce.

  3. Immetti il comando seguente:

    code language-bash
    bin/magento cron:install [--force]
    

Utilizzare --force per riscrivere una scheda cronologica esistente.

INFO
  • magento cron:install non riscrive un crontab esistente all'interno di #~ MAGENTO START e #~ MAGENTO END commenti nel crontab.
  • magento cron:install --force non ha alcun effetto sui processi cron al di fuori dei commenti di Commerce.

Per visualizzare la scheda cronologica, immettere il comando seguente come proprietario del file system:

crontab -l

Di seguito è riportato un esempio:

#~ MAGENTO START c5f9e5ed71cceaabc4d4fd9b3e827a2b
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log
#~ MAGENTO END c5f9e5ed71cceaabc4d4fd9b3e827a2b
INFO
Il file update/cron.php è stato rimosso in Commerce 2.4.0. Se il file esiste nell'installazione, può essere rimosso senza problemi.
Qualsiasi riferimento a update/cron.php e bin/magento setup:cron:run deve essere rimosso anche dalla scheda Cronc'

Rimuovi la scheda cronologica di Commerce

Rimuovere la scheda cronologica di Commerce solo prima di disinstallare l'applicazione Commerce.

Per rimuovere la scheda cronologica di Commerce:

  1. Accedi come o passa al proprietario del file system.

  2. Passare alla directory di installazione di Commerce.

  3. Immetti il comando seguente:

    code language-bash
    bin/magento cron:remove
    
INFO
Questo comando non ha alcun effetto sui processi cron al di fuori dei commenti #~ MAGENTO START e #~ MAGENTO END nella scheda Cronc.

Esegui cron dalla riga di comando

Opzioni comando:

bin/magento cron:run [--group="<cron group name>"]

dove --group specifica il gruppo cron da eseguire (omettere questa opzione per eseguire cron per tutti i gruppi)

Per eseguire il processo cron di indicizzazione, immettere:

bin/magento cron:run --group index

Per eseguire il processo cron predefinito, immettere:

bin/magento cron:run --group default

Per impostare processi e gruppi cron personalizzati, vedere Configurare processi e gruppi cron personalizzati.

INFO
È necessario eseguire cron due volte: la prima volta per individuare le attività da eseguire e la seconda volta per eseguire le attività stesse. La seconda esecuzione cron deve avvenire al momento o dopo il scheduled_at per ogni attività.

Registrazione

Tutte le informazioni sul processo cron sono state spostate da system.log in un cron.log separato.
Per impostazione predefinita, le informazioni cron sono disponibili in <install_directory>/var/log/cron.log.
Tutte le eccezioni dai processi cron sono registrate da \Magento\Cron\Observer\ProcessCronQueueObserver::execute.

Oltre ad aver effettuato l'accesso a cron.log:

  • I processi non riusciti con stato ERROR e MISSED sono registrati in <install_directory>/var/log/support_report.log.

  • I processi con stato ERROR vengono sempre registrati come CRITICAL in <install_directory>/var/log/exception.log.

  • I processi con stato MISSED vengono registrati come INFO nella directory <install_directory>/var/log/debug.log (solo modalità sviluppatore).

INFO
Tutti i dati cron vengono scritti anche nella tabella cron_schedule nel database di Commerce. La tabella fornisce una cronologia dei processi cron, tra cui:
  • ID processo e codice
  • Stato
  • Data di creazione
  • Data pianificata
  • Data di esecuzione
  • Data di fine
Per visualizzare i record nella tabella, accedere al database di Commerce dalla riga di comando e immettere SELECT * from cron_schedule;.
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c