Error “Response data too big” al ejecutar cron.php en Moodle

Problema surgido haciendo uso de la versión de Moodle 2.X

Debido a un problema con el servidor, nos hemos visto obligados a ejecutar cron.php desde un servidor externo.

Hemos utilizado el servicio gratutito https://cron-job.org

Pero la ejecución de cron.php produce un error. Este error, provoca que, al repetirse 16 veces, el cron se desactive

Se trata del error “Response data too big”

Este error se produce porque cron-job.org acepta hasta 4KB de datos de respuesta del script ejecutado, y cron.php devuelve en muchas ocasiones una respuesta de un tamaño mayor.

Es fácil resolver este error. Basta con cambiar la configuración dentro de la web de cron-job.org, Para ello, editamos nuestro cron, y en la sección “Advanced” cambiamos Request Method: GET por Request Method: HEAD, tal y como se ve en las imágenes:

Configuración por defecto:

Configuración corregida para resolver el problema:

La razón es que el método HEAD hace una petición igual a GET, pero sin el cuerpo de respuesta. Es decir, no se recibirá la respuesta de ejecución del script cron.php (que es lo que provocaba el error), y se ejecutará sin problemas.

Y por último, una aclaración: en las versiones de Moodle 2.x, el script cron.php se encuentra en moodle/admin/cron.php. Este script se puede ejecutar desde un navegador.

En las versiones de Moodle 3.x, el script ha cambiado de sitio, y ya no se puede ejecutar desde un navegador (por motivos de seguridad). En estas versiones se encuentra en moodle/admin/cli/cron.php

No hemos probado cron-job.org en versiones Moodle 3.x