1

EB 인스턴스에서 '무기한으로'Python 스크립트를 실행하고 자동 배포되면 (SSH를 사용하지 않으려는 경우) 싶습니다. 이를 위해, 나는이 탄성 콩 줄기 인스턴스가 배포 후Elastic Beanstalk에서 시작시 파이썬 스크립트를 한 번 실행하는 방법

source /opt/python/run/venv/bin/activate && nohup python myscriptname.py & 

를 실행한다고 생각합니다. 그러나 위의 명령을 어디에 배치하면이 게시 배포가 자동으로 실행됩니까?

나는 How do I install a Python script on Amazon's Elastic Beanstalk?을 보았지만 나에게는 크론 작업이 적합하지 않다고 생각한다.

전에 container_commands을 사용했지만 배포 전으로 실행되는 것 같습니다.

응용 프로그램 및 웹 서버가 설정되고 응용 프로그램 버전 아카이브가 추출되었지만 응용 프로그램 버전이 배포되기 전에 컨테이너 명령이 실행됩니다.

배포 후 스크립트는 어떻게 실행합니까?

답변

1

언제나 AWS에서이를 수행 할 수있는 몇 가지 방법이 있습니다. 인스턴스를 시작하고, 사용자 정의하고,이 이미지에서 AMI를 작성할 수 있습니다. 그런 다음 콩 줄기에이를 사용하여 알릴 수 있습니다. custom AMI

또는 ebextensions을 사용하여 인스턴스 작성 및 앱 재시작시 사용자 정의 할 수 있습니다. 나는 현재 (이미 설치되지 않은 경우) logstash를 설치하고 내 응용 프로그램이 시작될 때 최신 GeoLiteCity 데이터베이스를 다운로드하기 위해이 도구를 사용하고 있습니다. 여기

는 문서의 샘플입니다

container_commands: 
    collectstatic: 
    command: "django-admin.py collectstatic --noinput" 
    01syncdb: 
    command: "django-admin.py syncdb --noinput" 
    leader_only: true 
    02migrate: 
    command: "django-admin.py migrate" 
    leader_only: true 
    99customize: 
    command: "scripts/customize.sh" 
관련 문제