2014-08-28 5 views
17

Elastic Bohnenstengel Einsatz einer neuen Umgebung für eine Anwendung der AWS Website mit warntElastic Bohnenstengel Einsatz länger als Timeout-Zeit nehmen, wie erhöhe ich Timeout-Periode

Create environment operation is complete, but with command timeouts. Try increasing the timeout period 

und obwohl es zeigt schließlich Umgebung als grün versuchen, schließen sie einfach auf die uRL gibt

Service Temporarily Unavailable 

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. 

eine frühere Version der Anwendung funktioniert gut, aber in der ebextensions hat es eine große Datei von s3 zu kopieren und dann entpacken sie es, dies dauert eine ganze Weile. Die frühere Version der Anwendung muss nur eine 3-GB-Datei kopieren, aber die neue Version muss eine 6-GB-Datei kopieren und wie ich keine anderen Fehler sehen kann, hat dies das Zeitlimit verursacht und verhindert, dass Tomcat gestartet wird.

Aber wie kann ich das Zeitlimit erhöhen, kann ich nicht sehen, wo ich es tun soll?

Antwort

39

Sie können dies mit den Optionseinstellungen tun. Optionseinstellungen können mit ebextensions angegeben werden.

Erstellen Sie eine Datei in Ihrer App-Quelle in einem Verzeichnis mit dem Namen .ebextensions. Sagen wir, die Datei ist .ebextensions/01-increase-timeout.config.

Der Inhalt der Datei sollte sein:

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

Hinweis Diese Datei ist in YAML-Format. Danach können Sie Ihre Umgebung mit dieser Version des Quellcodes aktualisieren.

Von Dokumentation für diese Option Einstellung:

Timeout: Number of seconds to wait for an instance to complete executing commands.

For example, if source code deployment tasks are still running when you reach the configured timeout period, AWS Elastic Beanstalk displays the following error: "Some instances have not responded to commands. Responses were not received from ." You can increase the amount of time that the AWS Elastic Beanstalk service waits for your source code to successfully deploy to the instance.

Sie können here mehr über ebextensions lesen. Dokumentation zu Optionseinstellungen ist verfügbar here.

+1

Großartig, das behebt, FWIW Ich habe ursprünglich Wert auf 2000 gesetzt, aber der maximale Wert ist 1800 (1/2 Stunde), das ist in Ordnung, weil es nur 11 Minuten dauert, um die Instanz zu implementieren, aber ich überraschte den Maximalwert war so niedrig. –

+0

Ich habe Yam Syntaxfehler von AWS, dann entferne ich die Leerzeichen (yaml validator anweisen): option_name: Timeout und Wert: 1000 (keine Leerzeichen nach dem ":"). jetzt funktioniert es großartig. Vielen Dank! – dang

+2

NICHT @dang Beratung folgen! Sie brauchen ein Leerzeichen zwischen Wert und Zahl. Richtig ist: 'Wert: 1000'. nicht "Wert: 1000" – Roman

0

Nach der official documentation können Sie --timeout Option zu Ihrem eb create Anruf übergeben.

--timeout minutes 
Set number of minutes before the command times out. 
2

Verwendung: --timeout

Für zB: eb create -db --timeout 20

Dies gibt Ihnen 20 Minuten Zeitlimit.

0

Ich habe es gerade zum Zeitpunkt der Bereitstellung für meine Umgebung getan, und es funktioniert auch so gut.

eb deploy production-env --timeout 30 

..und das gibt mir 30 Minuten.

Verwandte Themen