¿Cómo aumentar el tiempo de espera de las implementaciones de Elastic Beanstalk?


13

Como parte de la implementación de mi aplicación, tengo algunos commandsen mis .ebextensionsarchivos de configuración. Puede tomar 20 minutos o más para que se completen todos los comandos, la primera vez que se ejecutan los comandos (clonando repositorios grandes).

Desafortunadamente, esto desencadena un tiempo de espera durante la implementación:

INFO Deploying new version to instance(s).
WARN The following instances have not responded in the allowed command
     timeout time (they might still finish eventually on their own).
INFO Command execution completed. Summary: [Successful: 0, TimedOut: 1].

¿Es posible aumentar este tiempo de espera? No puedo encontrar la opción en la configuración de mi entorno.


1
GIYF, puede usar ebextensions: stackoverflow.com/questions/25557874/…
Lucas Carvalho

Gracias por el puntero, si agrega un resumen de la respuesta vinculada a continuación, marcaré su respuesta como aceptada.
Benjamin

Respuestas:


11

Puede agregar archivos de configuración de AWS Elastic Beanstalk (.ebextensions) al código fuente de su aplicación web para configurar su entorno y personalizar los recursos de AWS que contiene.

La option_settingssección de un archivo de configuración define valores para las opciones de configuración . Las opciones de configuración le permiten configurar su entorno Elastic Beanstalk, los recursos de AWS que contiene y el software que ejecuta su aplicación.

Agregue archivos de configuración a su código fuente en una carpeta llamada .ebextensions e impleméntelo en el paquete fuente de su aplicación.

Ejemplo:

option_settings:
    - namespace: aws:elasticbeanstalk:command
      option_name: Timeout
      value: 1000

* "valor" representa el tiempo transcurrido antes del tiempo de espera en segundos.

Referencias: Configuración oficial del entorno de AWS Elastic Beanstalk y opciones generales para todos los entornos , esta respuesta de stackoverflow y esta publicación del Foro de desarrolladores de AWS.


0

puede hornear los repos en el AMI y hacer que el bean beanstalk lo use. De esa manera, el pago no es tan largo.

En otra nota, ¿qué estás haciendo clonando repositorios masivos como parte de la implementación ?


Siempre he sido reacio a usar un AMI personalizado, para simplificarlo. Sin embargo, su última nota es un buen punto. Mi aplicación tiene un generador de logotipos incorporado, que necesita una extensa lista de fuentes para ofrecer al usuario la posibilidad de elegir. No quiero agrupar estas fuentes con mi aplicación para mantener el tamaño dentro de límites razonables, por lo que mis scripts de implementación clonan un gran repositorio una vez que la aplicación se envía a los servidores. Puede que este no sea el mejor enfoque, pero este es el mejor que he encontrado hasta ahora.
Benjamin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.