Updated docker-compose.yml to clarify port mapping, modified Dockerfile.worker to enable access logging, and added logging functionality in main.py for request tracking.
This commit is contained in:
parent
3542e4564b
commit
46b59d2c5c
|
|
@ -24,4 +24,5 @@ WORKDIR /app/src
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|
||||||
ENV PYTHONUNBUFFERED=1
|
ENV PYTHONUNBUFFERED=1
|
||||||
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
|
# Access-Log explizit an, damit jeder Request im Docker-Log erscheint
|
||||||
|
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--access-log"]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
# CIA Scout-Modul: FastAPI-Service auf Port 8000
|
# CIA Scout-Modul: FastAPI-Service
|
||||||
|
# Host-Port 8010 → Container 8000. Requests: http://localhost:8010/discover
|
||||||
services:
|
services:
|
||||||
scout:
|
scout:
|
||||||
build:
|
build:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
"""
|
"""
|
||||||
Scout-Modul CIA: FastAPI-Service zum Erkennen von Publikations-/Insights-URLs pro Domain.
|
Scout-Modul CIA: FastAPI-Service zum Erkennen von Publikations-/Insights-URLs pro Domain.
|
||||||
"""
|
"""
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
|
@ -12,6 +13,10 @@ from scout_logic import get_publication_url
|
||||||
# Umgebungsvariablen aus .env laden (OPENROUTER_API_KEY)
|
# Umgebungsvariablen aus .env laden (OPENROUTER_API_KEY)
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
|
# Logging: Requests im Docker-Log sichtbar (stdout)
|
||||||
|
logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s")
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
app = FastAPI(
|
app = FastAPI(
|
||||||
title="CIA Scout",
|
title="CIA Scout",
|
||||||
description="Erkennt Publikations-/Insights-Seiten von Beratungsdomains.",
|
description="Erkennt Publikations-/Insights-Seiten von Beratungsdomains.",
|
||||||
|
|
@ -44,6 +49,7 @@ async def discover(body: DiscoverRequest) -> DiscoverResponse:
|
||||||
Domain übergeben; Service scannt die Startseite mit Playwright,
|
Domain übergeben; Service scannt die Startseite mit Playwright,
|
||||||
extrahiert Links und lässt OpenRouter die beste Publikations-URL wählen.
|
extrahiert Links und lässt OpenRouter die beste Publikations-URL wählen.
|
||||||
"""
|
"""
|
||||||
|
logger.info("POST /discover request: domain=%s", body.domain)
|
||||||
if not os.getenv("OPENROUTER_API_KEY"):
|
if not os.getenv("OPENROUTER_API_KEY"):
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=503,
|
status_code=503,
|
||||||
|
|
@ -51,6 +57,7 @@ async def discover(body: DiscoverRequest) -> DiscoverResponse:
|
||||||
)
|
)
|
||||||
|
|
||||||
result = await get_publication_url(body.domain)
|
result = await get_publication_url(body.domain)
|
||||||
|
logger.info("POST /discover done: domain=%s url=%s error=%s", body.domain, result.get("url"), result.get("error"))
|
||||||
return DiscoverResponse(url=result["url"], error=result.get("error"))
|
return DiscoverResponse(url=result["url"], error=result.get("error"))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user