Configuración de trabajos cron
Varias funciones de Commerce requieren al menos un trabajo cron, que programa actividades para que se produzcan en el futuro. A continuación se ofrece una lista parcial de estas actividades:
- Reglas de precios de catálogo
- Newsletters
- Generando mapas del sitio de Google
- Alertas/notificaciones para clientes (cambio de precio del producto, producto disponible en stock)
- Reindexación
- Ventas privadas (solo Adobe Commerce)
- Actualización automática de tipos de cambio
- Todos los correos electrónicos comerciales (incluida la confirmación de pedido y los transaccionales)
dev/tools/cron.sh
porque se ha eliminado la secuencia de comandos.Los sistemas UNIX programan tareas que deben realizar determinados usuarios mediante una crontab, que es un archivo que contiene instrucciones al daemon cron que le dicen al daemon en efecto que "ejecute este comando en este momento en esta fecha". Cada usuario tiene su propio crontab, y los comandos de cualquier crontab dado se ejecutan como el usuario propietario.
Para ejecutar cron en un explorador web, consulte Asegure cron.php para ejecutar en un navegador.
Cree o elimine el crontab de Commerce
En esta sección se explica cómo crear o quitar su crontab de Commerce (es decir, la configuración de los trabajos de Commerce cron).
El crontab es la configuración utilizada para ejecutar trabajos cron.
La aplicación Commerce utiliza tareas cron que se pueden ejecutar con diferentes configuraciones. La configuración de línea de comandos de PHP controla el trabajo cron general que reindexa los indexadores, genera correos electrónicos, genera el mapa del sitio, etc.
- Para evitar problemas durante la instalación y actualización, recomendamos encarecidamente que aplique la misma configuración de PHP tanto a la configuración de la línea de comandos de PHP como a la configuración del complemento del servidor web de PHP. Para obtener más información, consulte Configuración de PHP requerida.
- En un sistema de varios nodos, crontab puede ejecutarse en un solo nodo. Esto solo se aplica si configura más de un nodo web por motivos relacionados con el rendimiento o la escalabilidad.
Creación del crontab de Commerce
A partir de la versión 2.2, Commerce crea un crontab para usted. Añadimos el crontab de Commerce a cualquier crontab configurado para el propietario del sistema de archivos de Commerce. En otras palabras, si ya configura crontab para otras extensiones o aplicaciones, le agregamos el crontab de Commerce.
El crontab de Commerce está dentro #~ MAGENTO START
y #~ MAGENTO END
comentarios en su crontab.
Para crear el crontab de Commerce:
-
Inicie sesión como, o cambie a, la propietario del sistema de archivos.
-
Cambie al directorio de instalación de Commerce.
-
Introduzca el siguiente comando:
code language-bash bin/magento cron:install [--force]
Uso --force
para reescribir un crontab existente.
magento cron:install
no reescribe un crontab existente dentro de#~ MAGENTO START
y#~ MAGENTO END
comentarios en su crontab.magento cron:install --force
no tiene ningún efecto en ningún trabajo cron fuera de los comentarios de Commerce.
Para ver el crontab, introduzca el siguiente comando como propietario del sistema de archivos:
crontab -l
A continuación se muestra un ejemplo:
#~ 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
update/cron.php
El archivo de se ha eliminado en Commerce 2.4.0. Si este archivo existe en la instalación, se puede eliminar de forma segura.update/cron.php
y bin/magento setup:cron:run
también debe eliminarse de "crontab"Eliminar el crontab de Commerce
Solo debe quitar el crontab de Commerce antes de desinstalar la aplicación Commerce.
Para eliminar el crontab de Commerce:
-
Inicie sesión como o cambie a propietario del sistema de archivos.
-
Cambie al directorio de instalación de Commerce.
-
Introduzca el siguiente comando:
code language-bash bin/magento cron:remove
#~ MAGENTO START
y #~ MAGENTO END
comentarios en su crontab.Ejecute cron desde la línea de comandos
Opciones de comando:
bin/magento cron:run [--group="<cron group name>"]
donde --group
especifica el grupo cron que se ejecutará (omita esta opción para ejecutar cron para todos los grupos)
Para ejecutar el trabajo cron de indexación, introduzca:
bin/magento cron:run --group index
Para ejecutar el trabajo cron predeterminado, introduzca:
bin/magento cron:run --group default
Para configurar trabajos y grupos cron personalizados, consulte Configurar trabajos cron personalizados y grupos cron.
scheduled_at
hora de cada tarea.Registro
Todo cron
la información de trabajo se ha movido de system.log
en un cron.log
.
De forma predeterminada, la información de cron se encuentra en <install_directory>/var/log/cron.log
.
Todas las excepciones de los trabajos de cron las registra \Magento\Cron\Observer\ProcessCronQueueObserver::execute
.
Además de iniciar sesión cron.log
:
-
Trabajos con errores con
ERROR
yMISSED
los estados se registran en<install_directory>/var/log/support_report.log
. -
Trabajos con un
ERROR
los estados siempre se registran comoCRITICAL
in<install_directory>/var/log/exception.log
. -
Trabajos con un
MISSED
los estados se registran comoINFO
en el<install_directory>/var/log/debug.log
(solo modo de desarrollador).
cron_schedule
en la base de datos de Commerce. La tabla proporciona un historial de los trabajos cron, incluidos los siguientes:- Código e ID de trabajo
- Estado
- Fecha de creación
- Fecha programada
- Fecha de ejecución
- Fecha de finalización
SELECT * from cron_schedule;
.