cloud-run-batch-experiment은(는) 무엇을 하나요?
GCP Cloud Run Jobs에서 배치 Python 실험을 배포 및 실행합니다 — causal-impact-campaign의 보조 도구입니다.
개요
이 스킬은 Google Cloud Run Jobs를 사용하여 Python 기반 배치 실험을 서버리스 환경에서 실행할 수 있도록 해줍니다. 실험 코드를 컨테이너화하고 Cloud Run Jobs에 배포하면, 수동 인프라 관리 없이도 안정적이고 확장 가능한 배치 작업을 수행할 수 있습니다.
주요 기능
- Python 스크립트를 Docker 이미지로 빌드
- Cloud Run Jobs에 작업 등록 및 실행
- 작업 로그 확인 및 모니터링
- 스케줄링 또는 수동 트리거 지원
사전 요구사항
- GCP 프로젝트가 설정되어 있어야 함
gcloudCLI 설치 및 인증 완료- Docker 설치 및 실행 가능해야 함
- 필요한 Python 패키지가
requirements.txt에 정의되어 있어야 함
사용 방법
1. 실험 코드 준비
다음 구조로 디렉토리를 준비하세요:
my-experiment/
├── main.py
├── requirements.txt
├── Dockerfile
└── .dockerignore
2. Docker 이미지 빌드 및 푸시
docker build -t gcr.io/[PROJECT_ID]/my-experiment:latest .
docker push gcr.io/[PROJECT_ID]/my-experiment:latest
3. Cloud Run Jobs 생성 및 실행
gcloud run jobs create my-experiment-job \
--image gcr.io/[PROJECT_ID]/my-experiment:latest \
--region us-central1 \
--tasks 1 \
--max-retries 0 \
--memory 512Mi \
--cpu 1
gcloud run jobs execute my-experiment-job --region us-central1
예제
main.py 예제:
def main():
# 실험 로직 작성
print("Hello from Cloud Run Jobs!")
if __name__ == "__main__":
main()
Dockerfile 예제:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "main.py"]
참고 사항
- Cloud Run Jobs는 작업이 완료되면 자동으로 종료되므로 비용 효율적입니다.
- 환경 변수는
--set-env-vars플래그를 통해 전달할 수 있습니다. - 로그는 Cloud Logging에서 확인 가능합니다.