Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions apps/pre-processing-service/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,6 @@
FROM python:3.11-slim AS builder
WORKDIR /app

# ν•„μˆ˜ OS νŒ¨ν‚€μ§€ (κΈ°μ‘΄ + Chrome μ„€μΉ˜μš© νŒ¨ν‚€μ§€ μΆ”κ°€)
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
wget \
unzip \
gnupg \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*

# Poetry μ„€μΉ˜
RUN curl -sSL https://install.python-poetry.org | python3 -
ENV PATH="/root/.local/bin:$PATH"
Expand All @@ -29,37 +20,17 @@ RUN poetry export --without dev -f requirements.txt -o requirements.txt \
FROM python:3.11-slim AS final
WORKDIR /app

# Chromeκ³Ό ChromeDriver μ„€μΉ˜λ₯Ό μœ„ν•œ νŒ¨ν‚€μ§€ μ„€μΉ˜
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
unzip \
curl \
gnupg \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*

# Chrome μ„€μΉ˜ (λΈ”λ‘œκ·Έ 방식 - 직접 .deb 파일 λ‹€μš΄λ‘œλ“œ)
RUN wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& apt-get update \
&& apt-get install -y ./google-chrome-stable_current_amd64.deb \
&& rm ./google-chrome-stable_current_amd64.deb \
&& rm -rf /var/lib/apt/lists/*

# MeCab & 사전 μ„€μΉ˜ (ν˜•νƒœμ†Œ 뢄석 의쑴)
RUN apt-get update && apt-get install -y --no-install-recommends \
mecab \
libmecab-dev \
mecab-ipadic-utf8 \
&& rm -rf /var/lib/apt/lists/*

# /opt/venv 볡사
COPY --from=builder /opt/venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"

# μ•± μ†ŒμŠ€
COPY . .


# ν™˜κ²½λ³€μˆ˜λ‘œ MeCab 경둜 μ§€μ •
ENV MECAB_PATH=/usr/lib/mecab/dic/ipadic

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@
public class ExecutionMdcManager {
private static final String SOURCE_ID = "sourceId";
private static final String EXECUTION_TYPE = "executionType";
private static final String TRACE_ID = "traceID";

public void setWorkflowContext(Long workflowId, String traceId) {
MDC.put(SOURCE_ID, workflowId.toString());
MDC.put(EXECUTION_TYPE, "WORKFLOW");
MDC.put(TRACE_ID, traceId);
}

public void setWorkflowContext(Long workflowId) {
MDC.put(SOURCE_ID, workflowId.toString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,12 @@ public class WorkflowExecutionService {
@Transactional
@Async("traceExecutor")
public void executeWorkflow(Long workflowId) {
mdcManager.setWorkflowContext(workflowId);
WorkflowRun workflowRun = WorkflowRun.start(workflowId);
workflowRunMapper.insert(workflowRun);

mdcManager.setWorkflowContext(workflowId, workflowRun.getTraceId());
try {
workflowLogger.info("========== μ›Œν¬ν”Œλ‘œμš° μ‹€ν–‰ μ‹œμž‘: WorkflowId={} ==========", workflowId);
WorkflowRun workflowRun = WorkflowRun.start(workflowId);
workflowRunMapper.insert(workflowRun);

Map<String, JsonNode> workflowContext = new HashMap<>();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package site.icebang.external.fastapi.adapter;

import org.slf4j.MDC;
import org.springframework.http.*;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestClientException;
Expand All @@ -23,6 +24,13 @@ public String call(String endpoint, HttpMethod method, String requestBody) {
String fullUrl = properties.getUrl() + endpoint;
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

String traceId = MDC.get("traceId");
if (traceId != null) {
headers.set("X-Request-ID", traceId);
log.debug("TraceID 헀더 μΆ”κ°€: {}", traceId);
}

HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, headers);

try {
Expand Down
10 changes: 10 additions & 0 deletions docker/production-fastapi/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ services:
- ~/app/blogger:/app/blogger
- ~/app/models:/app/models
- logs_volume:/logs
# Chrome κ΄€λ ¨ λ³Όλ₯¨ 마운트
- /opt/google/chrome:/opt/google/chrome:ro
- /usr/bin/google-chrome:/usr/bin/google-chrome:ro
- /usr/bin/google-chrome-stable:/usr/bin/google-chrome-stable:ro
# MeCab κ΄€λ ¨ λ³Όλ₯¨ 마운트
- /usr/lib/mecab:/usr/lib/mecab:ro
- /var/lib/mecab:/var/lib/mecab:ro
- /usr/lib/x86_64-linux-gnu/libmecab.so.2:/usr/lib/x86_64-linux-gnu/libmecab.so.2:ro
- /usr/lib/x86_64-linux-gnu/libmecab.so:/usr/lib/x86_64-linux-gnu/libmecab.so:ro
- /usr/lib/x86_64-linux-gnu/libmecab.so.2.0.0:/usr/lib/x86_64-linux-gnu/libmecab.so.2.0.0:ro
depends_on:
- promtail
env_file:
Expand Down
Loading