SlideShare una empresa de Scribd logo
¿Qué es el cron de drupal? Es la manera que tiene Drupal de ejecutar tareas con una frecuencia establecida. Por ejemplo, todos los días a las 12 de la noche, una vez a la semana, una vez al mes, etc.
Usualmente se usa para:
Tareas de limpieza
Tareas pesadas, que consumirían muchos recursos de ejecutarse de una sola vez. Por ejemplo, envío masivo de correos.
Tareas que dependen del tiempo: por ejemplo, alarmas, desactivar una encuesta luego que ya pasó su tiempo de vigencia.
¿Cómo ejecuto el cron? Llamando al archivo cron.php en la raíz de nuestro sitio.  Es decir algo como http://www.misitio.com/cron.php
Este archivo nos devuelve una página en blanco.
Es una de las pocas llamadas de Drupal que se hacen sin pasar por el index.php
En Administrar > Informes > Informe de Estado (admin/reports/status) podemos ver:
Cuando fue la última vez que se ejecutó el cron
Un enlace para ejecutar directamente el cron
¿Por qué es importante? Permite que algunas tablas de la base de datos no crezcan de manera indefinida, afectando la performance del sitio.
Podemos hacer que se actualice información de manera periódica: contenido de búsqueda, feeds, etc.
Ejecución de tareas que dependen del tiempo o son muy pesadas para ejecutarse una sola vez.
¿Cada cuanto tiempo debo ejecutar el cron? El tiempo depende de el sitio web y de los módulos instalados.
Una guía puede ser, de 1 vez al día para un sitio personal, y de pocas horas para un sitio más grande.
Otras consideraciones: funcionalidad como búsquedas que necesitan contenido indexado, envío de correos, etc.
Protección del cron El cron no está protegido. Cualquiera lo puede ejecutar, estando logueado o no.
En drupal 7, esto ha sido mejorado. Para correr el cron se necesita enviar una llave apropiada.
Tareas que realiza el cron Core Drupal (1) Aggregator, actualiza los feeds
Database logging (dblog). Es un módulo que guarda logs en la tabla {watchdog}. Al ejecutar el cron borra los mensajes de logs que están por encima de la cantidad configurada ( Administrar->Configuración del Sitio->Registro y alertas->Descartar asientos del registro más allá del siguiente límite de entradas: Número )
Tareas que realiza el cron Core Drupal(2) Filter, borra información de la tabla {cache_filter}
Node, borra los registros de la tabla {history} que tengan una antiguedad mayor a 30 días. La tabla {history} guarda un registro de la última visita del usuario a un nodo.
Ping, notifica a otros servidores de cambios en el contenido drupal (solo de los nodos, no incluye de usuarios u otros aspectos).
Poll (encuestas), cierra las encuestas que han excedido su tiempo permitido
Tareas que realiza el cron Core Drupal(3) Search, indexa contenido nuevo. Llama al hook_update_index de cada uno de los módulos.
Statistics, borra información de la tabla {accesslog} que ha excedido el tiempo configurado.
System, limpia las tablas {flood} y {batch} y archivos temporales de la tabla {files}. Además borra registros de las tablas de cache {cache}, {cache_block}, {cache_filter}, {cache_page}, {cache_form}, {cache_menu} y otras tablas de cache indicadas por otros módulos (hook_flush_caches).
Tareas que realiza el cron Core Drupal(4) Trigger, ejecuta algunas acciones configuradas
Update, revisa si hay actualizaciones disponibles.

Más contenido relacionado

PDF
5 espacio swap
PDF
Automatización de tareas con Gulp
PDF
Sandbox para ejercicios de programación
PDF
Http net gui preguntas y soluciones
ODT
niveles de ejecución arranque y parada de los servicios
PPTX
Instalación y comandos ftp en windows server 2008
PDF
Documentacion Proyecto Final
5 espacio swap
Automatización de tareas con Gulp
Sandbox para ejercicios de programación
Http net gui preguntas y soluciones
niveles de ejecución arranque y parada de los servicios
Instalación y comandos ftp en windows server 2008
Documentacion Proyecto Final

La actualidad más candente (20)

PDF
Aso t2 practica_crontab
PDF
Git 101+
PDF
Docker y PostgreSQL
PDF
Escenarios de Sistemas Distribuidos con Chamilo LMS
PDF
Practica1 pro ft_pd_fran_gavilan
PDF
Práctica 3 FTP
PPTX
Hilos y procesos - Vanessa Ramirez
PPSX
Procesos
PDF
Montando un Servidor FreeNX en CentOS - FreeNX-III - Impresión desde el Clien...
PDF
Docker y Kubernetes, en busca de la alta disponibilidad
PDF
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
PDF
Quasi - Configuración de impresoras Linux
PPTX
Usando docker
PDF
Manual de instalación drupal 7.2 mejorado Universidad de Los Andes
PDF
Vagrant y Docker - Guía práctica de uso
PDF
Programar tareas crontab en Ubuntu
DOCX
Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
PDF
Apliacaciones Distribuidas. Sistemas Operativos
Aso t2 practica_crontab
Git 101+
Docker y PostgreSQL
Escenarios de Sistemas Distribuidos con Chamilo LMS
Practica1 pro ft_pd_fran_gavilan
Práctica 3 FTP
Hilos y procesos - Vanessa Ramirez
Procesos
Montando un Servidor FreeNX en CentOS - FreeNX-III - Impresión desde el Clien...
Docker y Kubernetes, en busca de la alta disponibilidad
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
Quasi - Configuración de impresoras Linux
Usando docker
Manual de instalación drupal 7.2 mejorado Universidad de Los Andes
Vagrant y Docker - Guía práctica de uso
Programar tareas crontab en Ubuntu
Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
Apliacaciones Distribuidas. Sistemas Operativos
Publicidad

Similar a Drupal Cron (20)

PDF
Tareas automáticas con drupal
PPT
Tareas programadas
DOCX
Realizar un cron con centos 7
DOCX
Realizar un cron con centos 7
PDF
35 automated tasks
PPS
Cron moodle - debian
PPTX
PPT
Drupal 7 (2)
PDF
Programación de módulos para Drupal 7
PDF
PDF
PDF
ODP
[DrupalCamp 2012] Tú vida fácil con Drush
PPSX
Drush la navaja suiza de drupal
PDF
Taller drupal 8 tuxtepec
PDF
Symfony y Drupal
PDF
Presentando drupal en xalapa
PPTX
Presentación Jornada Drupal Sevilla Febrero 2015
ODP
Tareas programadas en red hat
Tareas automáticas con drupal
Tareas programadas
Realizar un cron con centos 7
Realizar un cron con centos 7
35 automated tasks
Cron moodle - debian
Drupal 7 (2)
Programación de módulos para Drupal 7
[DrupalCamp 2012] Tú vida fácil con Drush
Drush la navaja suiza de drupal
Taller drupal 8 tuxtepec
Symfony y Drupal
Presentando drupal en xalapa
Presentación Jornada Drupal Sevilla Febrero 2015
Tareas programadas en red hat
Publicidad

Último (20)

PPTX
Presentación de Redes de Datos modelo osi
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
clase auditoria informatica 2025.........
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
taller de informática - LEY DE OHM
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
Presentación PASANTIAS AuditorioOO..pptx
Presentación de Redes de Datos modelo osi
SAP Transportation Management para LSP, TM140 Col18
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Calidad desde el Docente y la mejora continua .pdf
Estrategia de apoyo tecnología miguel angel solis
clase auditoria informatica 2025.........
Sesion 1 de microsoft power point - Clase 1
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
taller de informática - LEY DE OHM
introduccion a las_web en el 2025_mejoras.ppt
Propuesta BKP servidores con Acronis1.pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
historia_web de la creacion de un navegador_presentacion.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Estrategia de apoyo tecnología grado 9-3
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Presentación PASANTIAS AuditorioOO..pptx

Drupal Cron

  • 1. ¿Qué es el cron de drupal? Es la manera que tiene Drupal de ejecutar tareas con una frecuencia establecida. Por ejemplo, todos los días a las 12 de la noche, una vez a la semana, una vez al mes, etc.
  • 4. Tareas pesadas, que consumirían muchos recursos de ejecutarse de una sola vez. Por ejemplo, envío masivo de correos.
  • 5. Tareas que dependen del tiempo: por ejemplo, alarmas, desactivar una encuesta luego que ya pasó su tiempo de vigencia.
  • 6. ¿Cómo ejecuto el cron? Llamando al archivo cron.php en la raíz de nuestro sitio. Es decir algo como http://www.misitio.com/cron.php
  • 7. Este archivo nos devuelve una página en blanco.
  • 8. Es una de las pocas llamadas de Drupal que se hacen sin pasar por el index.php
  • 9. En Administrar > Informes > Informe de Estado (admin/reports/status) podemos ver:
  • 10. Cuando fue la última vez que se ejecutó el cron
  • 11. Un enlace para ejecutar directamente el cron
  • 12. ¿Por qué es importante? Permite que algunas tablas de la base de datos no crezcan de manera indefinida, afectando la performance del sitio.
  • 13. Podemos hacer que se actualice información de manera periódica: contenido de búsqueda, feeds, etc.
  • 14. Ejecución de tareas que dependen del tiempo o son muy pesadas para ejecutarse una sola vez.
  • 15. ¿Cada cuanto tiempo debo ejecutar el cron? El tiempo depende de el sitio web y de los módulos instalados.
  • 16. Una guía puede ser, de 1 vez al día para un sitio personal, y de pocas horas para un sitio más grande.
  • 17. Otras consideraciones: funcionalidad como búsquedas que necesitan contenido indexado, envío de correos, etc.
  • 18. Protección del cron El cron no está protegido. Cualquiera lo puede ejecutar, estando logueado o no.
  • 19. En drupal 7, esto ha sido mejorado. Para correr el cron se necesita enviar una llave apropiada.
  • 20. Tareas que realiza el cron Core Drupal (1) Aggregator, actualiza los feeds
  • 21. Database logging (dblog). Es un módulo que guarda logs en la tabla {watchdog}. Al ejecutar el cron borra los mensajes de logs que están por encima de la cantidad configurada ( Administrar->Configuración del Sitio->Registro y alertas->Descartar asientos del registro más allá del siguiente límite de entradas: Número )
  • 22. Tareas que realiza el cron Core Drupal(2) Filter, borra información de la tabla {cache_filter}
  • 23. Node, borra los registros de la tabla {history} que tengan una antiguedad mayor a 30 días. La tabla {history} guarda un registro de la última visita del usuario a un nodo.
  • 24. Ping, notifica a otros servidores de cambios en el contenido drupal (solo de los nodos, no incluye de usuarios u otros aspectos).
  • 25. Poll (encuestas), cierra las encuestas que han excedido su tiempo permitido
  • 26. Tareas que realiza el cron Core Drupal(3) Search, indexa contenido nuevo. Llama al hook_update_index de cada uno de los módulos.
  • 27. Statistics, borra información de la tabla {accesslog} que ha excedido el tiempo configurado.
  • 28. System, limpia las tablas {flood} y {batch} y archivos temporales de la tabla {files}. Además borra registros de las tablas de cache {cache}, {cache_block}, {cache_filter}, {cache_page}, {cache_form}, {cache_menu} y otras tablas de cache indicadas por otros módulos (hook_flush_caches).
  • 29. Tareas que realiza el cron Core Drupal(4) Trigger, ejecuta algunas acciones configuradas
  • 30. Update, revisa si hay actualizaciones disponibles.
  • 31. Tareas que realiza el cron Módulos Contribuidos(1) Simplenews, envía correos que los tiene en la cola de envío.
  • 32. ¿Cómo ejecuto el cron? (1) Alternativa 1: Me siento en la computadora, cronómetro en mano, para visitar la página cada vez que se cumpla el tiempo.
  • 33. ¿Cómo ejecuto el cron? (2) Alternativa 2: Ponemos un robot que se dedique a visitar la página en el tiempo especificado. También hay robots virtuales que imitan el comportamiento humano llamados bot, y que podría ser una alternativa, pero no necesitamos tanta sofisticación.
  • 34. ¿Cómo ejecuto el cron? (3) Alternativa 3: Ponemos un demonio que se dedique a visitar la página en el tiempo especificado. El demonio (daemon) que necesitamos se llama crond y está disponible en sistemas tipo Unix (Linux, BSD, Mac OSX, etc.).
  • 35. ¿Cómo ejecuto el cron? (4) El Alimento de cond El demonio crond consume la información de archivos de configuración llamados crontab.
  • 36. Crond lee el crontab cada 60 segundos en busca de cambios.
  • 37. La forma más sencilla de editar este archivo crontab del usuario actual es usar la orden contrab -e, que abrirá el archivo en el editor configurado.
  • 38. ¿Cómo ejecuto el cron? (5) Estructura de crontab Para hacer que una tarea se ejecute cada cierto tiempo, puedo indicarlo editando el archivo crontab.
  • 39. Las ordenes del crontab van en líneas que tienen la siguiente estructura.
  • 40. Campos de crontab minutos(0-59) horas(0-23) días(1-31) meses(1-12) diaSemana(0-6 o 1-7) comando
  • 41. Cada campo de tiempo es un entero
  • 42. Un * indica todas las ocurrencias de esa dimensión temporal
  • 43. Para indicar un rango se ponen los números separados por - , por ejemplo 5-10 en el campo minuto significa que en una hora los minutos del 5 al 10 se ejecutará la orden
  • 44. Si queremos indicar varios valores, se puede colocar los números separados por coma, por ejemplo 3,4,5 en esl campo minuto significa que en esos minutos se ejecutará la orden.
  • 45. La almohadilla sirve para poner comentarios
  • 46. ¿Uso el crontab para que Firefox visite mi sitio? Es una posibilidad, pero no es conveniente.
  • 47. Lo mejor es usar algún programa que sea mucho más eficiente y que funcione sin GUI, solo con línea de comandos.
  • 48. Los más usados son: lynx, navegador web en modo texto
  • 49. wget, herramienta para descarga de contenidos web
  • 50. curl, es una herramienta para transferir archivos Con los tres programas podemos visitar nuestro sitio web
  • 51. Además se podría usar el módulo drush en combinación con el cron. Drush es un módulo que permite ejecutar varias tareas drupal desde línea de comandos.
  • 52. Ejemplo de scripts 45 * * * * /usr/bin/lynx -source http://example.com/cron.php
  • 53. 45 * * * * /usr/bin/wget -O - -q -t 1 http://www.example.com/cron.php
  • 54. 45 * * * * curl --silent --compressed http://example.com/cron.php
  • 55. ¿Cómo lo hago en mi servidor? (1) Si tengo acceso ssh, puedo utilizar las mismas ordenes de crontab -e, o editar el archivo crontab directamente.
  • 56. Si tengo un panel de control, puede utilizar la interfaz web que me da acceso al crontab.
  • 57. ¿Cómo lo hago en mi servidor? cpanel (2)
  • 58. ¿Cómo lo hago en mi servidor? cpanel (3)
  • 59. ¿Cómo lo hago en mi servidor? cpanel (4)
  • 60. ¿Cómo lo hago en mi servidor? cpanel (5)
  • 61. ¿Cómo lo hago en mi servidor? cpanel (6)
  • 62. ¿Cómo lo hago en mi servidor? godaddy (7)
  • 63. ¿Cómo lo hago en mi servidor? godaddy (8)
  • 64. ¿Qué hago si mi hosting no me da esta opción?
  • 65. ¿Por qué Drupal no lo puede hacer solo? PHP es un lenguaje interpretado que cuando se usa en un servidor web (ejemplo Apache) se configura el tiempo máximo de ejecución de un script, en el archivo de configuración php.ini, tenemos la directiva max_execution_time, o con la función set_time_limit. No quedan procesos corriendo de manera continua. De todas maneras hay forma a través de un módulo que drupal haga el trabajo (módulo Poormanscron)
  • 66. Para desarrolladores (1) Si deseamos que el módulo que estamos desarrollando ejecute alguna tarea periódica podemos implementar el hook_cron. El código que esté dentro de este hook se ejecutará al llamarse el cron.
  • 67. Para desarrolladores (2) El registro, en segundos, de la última vez que se ejecutó el cron se almacena en la tabla {variable} con el nombre cron_last, y se puede obtener mediante la función variable_get($name, $default). También funcionan variable_set($name, $value) y variable_del($name), para cambiar el valor y borrar esta variable pero no es recomendable usarlas.