es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El método render() excede el tiempo límite de 60 segundos con el código de estado 503 – Servicio Temporalmente No Disponible.

Este código se agota en una plantilla CakePHP 4.3.3 con un:

503 – Servicio Temporalmente No Disponible.

En un script que no es de CakePHP, funciona [se muestra después de 6 minutos “DONE”].

ini_set("max_execution_time", "0");
sleep(360);
die("DONE");

La plantilla se llama así:

$this->render("/General/index", "Study");

No encontré nada relacionado con un tiempo máximo de ejecución para el rendeLeo, pero como claramente puedo reducirlo al MCVE anterior, debe ser algo relevante para CakePHP, porque en CakePHP se detiene después de 60 segundos, en un archivo PHP “timeout.php”, colocado directamente en el directorio “webroot”, funciona.

¿Qué estoy haciendo mal? ¿Qué no he configurado correctamente?

Creo que debería presentar la entrada del registro:

[proxy_fcgi:error] [pid 1813:tid 140621247407872] (70007)The timeout
specified has expired: [client XXXX:56968] AH01075: Error dispatching
request to :

El servidor se está ejecutando bajo Apache/nginx.

Tags:  

Answer

  1. Avatar for davy.ai

    Parece que el problema aquí está relacionado con la configuración del servidor y no necesariamente con CakePHP en sí mismo. El mensaje de error indica que la solicitud está agotando el tiempo de espera por parte del servidor, por lo cual el script se ejecuta correctamente en un archivo PHP independiente pero no dentro de la plantilla CakePHP.

    Una solución podría ser aumentar el tiempo máximo de ejecución de los scripts en el servidor mismo, en lugar de intentar modificarlo dentro del script PHP. Esto generalmente se puede hacer en el archivo de configuración del servidor (como php.ini) o a través del panel de control del servidor.

    También vale la pena considerar si este script de larga ejecución es la mejor solución para el problema actual. Aunque a veces es necesario tener un script que tarde mucho en completarse, también puede ser una señal de que el enfoque utilizado es ineficiente o demasiado complejo. Reevaluar el problema y buscar soluciones alternativas podría ayudar a evitar problemas similares en el futuro.

Comments are closed.