Resumen de tareas automatizadas Cron
La configuración de cron es un paso importante en la instalación de un sitio web y ayuda a mantener los recursos del sitio para los resultados de búsqueda, verificar actualizaciones del núcleo y módulos de Drupal, y eliminar archivos temporales.
Una tarea cron configurada correctamente administra muchas tareas:
- Actualiza el índice del contenido del sitio utilizado por el módulo de búsqueda.
- Alimenta las colas que serán actualizadas por el módulo agregador.
- Verifica la disponibilidad de actualizaciones para el módulo gestor de actualizaciones.
- Realiza tareas habituales de mantenimiento, como eliminar entradas antiguas de los registros, para el módulo sistema.
¿Qué es cron?
Cron es un demonio que ejecuta comandos en intervalos programados. Estos comandos se llaman "tareas cron". Cron está disponible en servidores Unix, Linux y Mac. Los servidores Windows utilizan tareas programadas para ejecutar comandos. La "tarea cron" real es una acción iniciada por tiempo que normalmente (y de forma más eficiente) es ejecutada por el servidor de alojamiento de tu sitio, pero también puede ser configurada desde un servidor remoto o incluso desde tu propio escritorio.
Lo que realmente sucede es que la tarea cron visita el archivo cron.php en tu sitio web vía URL, por ejemplo http://www.ejemplo.com/cron.php?cron_key=0MgWtfB33FYbbQ5UAC3L0LL3RC0PT3RNUBZILLA0Nf1Re. La dirección exacta del archivo cron.php se puede encontrar en el Informe de estado bajo Administración> Informes> Informe de estado (admin/reports/status) en la sección de tareas de mantenimiento Cron.
Activar cron
La forma más sencilla es permitir que Drupal lo haga por ti (lo que hace por defecto), utilizando el sistema "cron automatizado" integrado. Puedes gestionar el "cron automatizado" a través de Administración> Configuración> Sistema> Cron (admin/config/system/cron). La frecuencia por defecto es cada tres horas. Después de esto, cron será llamado por los usuarios finales que visitan tu sitio, no más frecuentemente que cada tres horas. Ten en cuenta que para sitios con bajo tráfico puede ser deseable también crear una tarea cron. Si quieres desactivar el cron automatizado, cambia la lista desplegable "Ejecutar cron cada" a "Nunca".
El sistema cron automatizado es compatible con todos los sistemas porque en realidad no usa el demonio cron del sistema. Funciona comprobando al final de cada solicitud de Drupal cuándo fue la última vez que se ejecutó cron, y si ha pasado demasiado tiempo, ejecuta las tareas cron como parte de esa solicitud. Dos desventajas: (1) las tareas cron solo se ejecutan cuando Drupal procesa solicitudes; y (2) el "peso" (procesamiento y memoria) de ejecutar tareas cron se añade a alguna solicitud arbitraria e inesperada de página, lo que puede ralentizar esas solicitudes y potencialmente superar los límites de memoria en sitios complejos.
La segunda forma (aplicable a cualquier versión de Drupal) es crear una tarea cron o usar cualquier otro método externo (a Drupal) para ejecutar tareas cron, por ejemplo un servicio externo de tareas cron como EasyCron o Cronless. Este método es más confiable (porque siempre se ejecuta según el horario) y usa menos recursos (porque el procesamiento cron no se añade a la solicitud de página). Por eso, generalmente es el método preferido para ejecutar cron cuando tienes la opción. Ten en cuenta que si creas una tarea cron, puedes desactivar completamente el sistema "cron".
Desactivar "cron automatizado"
Por razones de rendimiento, o si quieres que cron solo se ejecute desde un disparador externo, puede ser conveniente desactivar el sistema cron automatizado.
Puedes desactivarlo configurando "Ejecutar cron cada" a "Nunca" (por ejemplo, en Administración> Configuración> Sistema> Cron (admin/config/system/cron).
Otra forma de desactivar cron en Drupal 8 es añadir la siguiente línea en el archivo settings.php:
$config['automated_cron.settings']['interval'] = 0;
Ten en cuenta que esto fija el parámetro admin/config/system/cron en "Nunca" y los usuarios con permisos de administrador no podrán cambiarlo.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.