Хобрук: Ваш путь к мастерству в программировании

Развертывание эластичного beanstalk занимает больше времени, чем период ожидания, как увеличить период ожидания

Elastic beanstalk развертывание новой среды для приложения с использованием веб-сайта AWS предупреждает

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

и хотя в конечном итоге он показывает окружающую среду как зеленую, попытка подключиться к URL-адресу просто дает

Service Temporarily Unavailable

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

Более ранняя версия приложения работает нормально, но в ebextensions приходится копировать большой файл с s3 и потом разархивировать, это занимает довольно много времени. Более ранняя версия приложения должна копировать только файл размером 3 ГБ, но новая версия должна копировать файл размером 6 ГБ, и, поскольку я не вижу других ошибок, я предполагаю, что это вызвало тайм-аут и предотвратило запуск кота.

Но как мне увеличить время ожидания, я не вижу, где я должен это сделать?


Ответы:


1

Вы можете сделать это, используя настройки параметров. Настройки параметров можно указать с помощью ebextensions.

Создайте файл в исходном коде вашего приложения в каталоге с именем .ebextensions. Допустим, файл .ebextensions/01-increase-timeout.config.

Содержимое файла должно быть:

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

Обратите внимание, что этот файл имеет формат YAML. После этого вы можете обновить свою среду этой версией исходного кода.

Из документации для этой настройки параметра:

Тайм-аут: количество секунд ожидания завершения экземпляром выполнения команд.

Например, если задачи развертывания исходного кода все еще выполняются, когда вы достигаете настроенного периода ожидания, AWS Elastic Beanstalk отображает следующую ошибку: «Некоторые экземпляры не ответили на команды. Ответы не были получены от». Вы можете увеличить время, в течение которого сервис AWS Elastic Beanstalk ожидает успешного развертывания вашего исходного кода в экземпляре.

Подробнее о ebextensions можно прочитать здесь. Документация по настройкам параметров доступна здесь.

28.08.2014
  • Отлично, это исправляет это, FWIW я изначально установил значение 2000, но максимально допустимое значение составляет 1800 (1/2 часа), это нормально, потому что развертывание на экземпляре, который я использовал, занимает всего 11 минут, но удивлен, что максимальное значение было таким низким . 01.09.2014
  • Я получил синтаксическую ошибку yaml от aws, затем я удаляю пробелы (валидатор yaml инструктирует меня): option_name: Timeout и value: 1000 (без пробелов после :). теперь он отлично работает. Спасибо! 07.11.2016
  • НЕ следуйте советам @dang! вам нужен пробел между значением: и числом. Правильно: value: 1000. не value:1000 16.11.2016
  • @Роман, не надо грубить. у меня не получилось с пробелами, поэтому я удалил их, и теперь все в порядке. Я ничего не советовал, просто указал на проблему, с которой я столкнулся, возможно, это поможет другим, если они столкнутся с той же проблемой. 17.11.2016
  • мне нужно добавить ссылку на этот файл где-нибудь в проекте? Я получаю сообщение ОШИБКА: время ожидания операции истекло. Состояние окружающей среды неизвестно. Время ожидания можно установить с помощью параметра --timeout. 23.11.2016

  • 2

    Используйте: --timeout

    Например: eb create -db --timeout 20

    Это даст вам 20 минут тайм-аута.

    01.03.2017

    3

    Согласно официальной документации, вы можете передать --timeout вариант на ваш eb create звонок.

    --timeout minutes
    Set number of minutes before the command times out.
    
    28.11.2016
  • Вы уверены, что это тот самый тайм-аут? Или это тайм-аут самого eb-cli? Время ожидания моего eb cli истекло с ERROR: TimeoutError - The EB CLI timed out after 10 minute(s). The operation might still be running. To keep viewing events, run 'eb events -f'. To set timeout duration, use '--timeout MINUTES'., в то время как само развертывание продолжает работать без отображения ошибок времени ожидания на странице событий. 20.09.2018

  • 4

    Я только что делал это во время развертывания для своей среды, и это тоже отлично работает.

    eb deploy production-env --timeout 30
    

    ..и это дает мне 30 минут.

    01.02.2018
    Новые материалы

    Решения DBA Metrix
    DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

    Начало работы с Блум
    Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...