Skip to content
Merged
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
12 changes: 9 additions & 3 deletions app/services/recommendation/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,15 @@ async def get_recommendation(
)


async def run_recommendation_and_publish_to_kafka(member_id: int) -> None:
async def run_recommendation_and_publish_to_kafka(member_id: int, trace_id: str | None = None) -> None:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

trace_idpublish_recommendation_to_kafka에는 전달되지만, get_recommendation 호출 시에는 누락되어 있습니다. 추천 로직 내부(LLM 호출 등)에서 발생하는 로그와도 상관관계를 파악할 수 있도록 get_recommendation 함수에도 trace_id를 전달하는 것을 권장합니다. 이를 위해 get_recommendation 함수의 시그니처 변경이 함께 필요할 수 있습니다.

try:
resp = await get_recommendation(session=None, member_id=member_id)
await publish_recommendation_to_kafka(member_id, resp)
await publish_recommendation_to_kafka(member_id, resp, trace_id=trace_id)
except Exception as e:
logger.error("recommendation: 백그라운드 추천/Kafka 실패 member_id=%s: %s", member_id, e, exc_info=True)
logger.error(
"recommendation: 백그라운드 추천/Kafka 실패 member_id=%s trace_id=%s: %s",
member_id,
(trace_id or "").strip(),
e,
exc_info=True,
)
Comment on lines +152 to +158
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

현재 get_recommendationpublish_recommendation_to_kafka 함수는 내부에서 모든 예외를 처리(catch)하고 로그를 남긴 뒤 결과를 반환하므로, 이 except Exception 블록은 실제로 실행될 가능성이 거의 없습니다. 의도한 대로 에러를 포착하여 로그를 남기려면 호출되는 함수들이 예외를 상위로 전파(raise)하도록 수정하거나, 반환된 응답의 상태를 체크하는 로직이 필요합니다.

Loading