From 03e50d2be132bdaa0e38082c59d943da3b9ae627 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 1 Jul 2026 02:26:57 +0900 Subject: [PATCH] =?UTF-8?q?fix(task-watcher):=20=5Fshared=EB=A5=BC=20?= =?UTF-8?q?=EB=B9=8C=EB=93=9C=20=EC=BB=A8=ED=85=8D=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EC=97=90=20=ED=8F=AC=ED=95=A8=20(heartbeat=20import=20?= =?UTF-8?q?=ED=81=AC=EB=9E=98=EC=8B=9C=20=EC=88=98=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit task-watcher는 build context가 ./task-watcher라 services/_shared가 이미지에 없었음 → A3가 추가한 `from _shared.heartbeat import` ModuleNotFoundError로 컨테이너 즉시 크래시(재시작 후 alive=false). render 워커 패턴대로 context=. + COPY _shared /app/_shared + PYTHONPATH=/app 로 수정. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_019LV86jBozkNhSFXJA412fq --- services/docker-compose.yml | 3 ++- services/task-watcher/Dockerfile | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/services/docker-compose.yml b/services/docker-compose.yml index 07191e5..18bf4e8 100644 --- a/services/docker-compose.yml +++ b/services/docker-compose.yml @@ -82,7 +82,8 @@ services: task-watcher: build: - context: ./task-watcher + context: . + dockerfile: task-watcher/Dockerfile container_name: task-watcher restart: unless-stopped ports: diff --git a/services/task-watcher/Dockerfile b/services/task-watcher/Dockerfile index 959ca84..09c9851 100644 --- a/services/task-watcher/Dockerfile +++ b/services/task-watcher/Dockerfile @@ -7,10 +7,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates tzdata \ && rm -rf /var/lib/apt/lists/* -COPY requirements.txt . +COPY task-watcher/requirements.txt /app/ RUN pip install --no-cache-dir --timeout 600 --retries 5 -r requirements.txt -COPY . . +# 공통 heartbeat 모듈 (services/_shared) — watcher.py가 from _shared.heartbeat import +COPY _shared /app/_shared +COPY task-watcher/. /app/ +ENV PYTHONPATH=/app EXPOSE 8000 CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "1"]