Код: Выделить всё
01-01-2025 04:44:22 PM [AppRunner] Health check failed on protocol `HTTP`[Path: '/'], [Port: '8080']. Check your configured port number. For more information, see the application logs.
01-01-2025 04:44:35 PM [AppRunner] Deployment with ID : 9719e0a9f3814a5d88c90569994bb10c failed. Failure reason : Health check failed.
https://github.com/Sathyvs/apprunner
https:// github.com/adamjkeller/simple-apprunner-demo (это код, который автор поместил в видео на YouTube, которое показывает, что все работает нормально, но когда я разветвляю этот репозиторий и запускаю его, я получаю ту же проблему, что и выше.
Я пробовал
[*]использовать исходный код в качестве входных данных, а также созданные изображения из ECR
[*]использование настроек сборки в консоли aws и использование файла конфигурации (apprunner.yaml)
[*]изменение конфигурации проверки работоспособности на различные таймауты, на TCP, http и http в корневом каталоге, в разные такие маршруты, как /health
[*]Я начал с быстрого API на 8000 и пробовал разные серверы со всеми разными портами, например 8080, 80, 8000 и т. д.
[*]Я пробовал среду выполнения Python3, Python 3.11
Но все попытки на одном и том же этапе потерпели неудачу, и если вы видите этот файл здесь https://github.com/Sathyvs/apprunner/bl ... /server.py
Я добавил несколько журналов, и хотя я вижу журналы при запуске на локальном компьютере, я не вижу журналов приложений в App Runner, он предоставляет только те же ограниченные журналы и не содержит никакой дополнительной информации что происходит с развертыванием?
Код на https://github.com/Sathyvs/apprunner/tree/main
server.py
Код: Выделить всё
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
import os, logging
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
logger = logging.getLogger(__name__)
def hello_world(request):
name = os.environ.get('NAME')
if name == None or len(name) == 0:
name = "world"
message = "Hello, " + name + "!\n"
logger.info("api called")
return Response(message)
if __name__ == '__main__':
port = int(os.environ.get("PORT"))
logger.info(f"running main application and listening on port {os.environ.get("PORT")}")
logger.info(f"value of my port {os.environ.get("MY_PORT")}")
with Configurator() as config:
logger.info("configuring apis")
config.add_route('hello', '/')
config.add_view(hello_world, route_name='hello')
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 8080, app)
logger.info("starting server")
server.serve_forever()
Код: Выделить всё
FROM public.ecr.aws/amazonlinux/amazonlinux:latest
RUN yum install python3.7 -y && curl -O https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py && yum update -y
COPY . /app
WORKDIR /app
RUN pip3 install -r requirements.txt
CMD python3 server.py
EXPOSE 8080
Есть ли какой-нибудь образец, который действительно запускает приложение Python в App Runner? App Runner вообще работает?
Я ценю любую помощь или подсказку, чтобы даже узнать больше журналов о том, что происходит. Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/793 ... app-runner
Мобильная версия