Files
site11/console/backend/shared/kafka/events.py
jungwoo choi 1ca9ca1b5d Step 9: 고급 이벤트 처리 시스템 구현
주요 기능:
- Kafka 이벤트 컨슈머 및 프로듀서 통합
- 지수 백오프 재시도 메커니즘 구현
- Dead Letter Queue (DLQ) 설정
- 이벤트 스키마 레지스트리 (Pydantic v2 호환)
- Console 서비스에 이벤트 관리 API 추가
- 실시간 이벤트 통계 및 모니터링
- 엔드-투-엔드 테스트 스크립트

구현된 이벤트 타입:
- USER_CREATED, USER_UPDATED, USER_DELETED
- OAUTH_APP_CREATED, OAUTH_TOKEN_ISSUED
- IMAGE_UPLOADED, IMAGE_PROCESSED

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 14:51:08 +09:00

31 lines
846 B
Python

from enum import Enum
from pydantic import BaseModel, Field
from datetime import datetime
from typing import Any, Optional, Dict
class EventType(str, Enum):
USER_CREATED = "user.created"
USER_UPDATED = "user.updated"
USER_DELETED = "user.deleted"
USER_LOGIN = "user.login"
IMAGE_UPLOADED = "image.uploaded"
IMAGE_CACHED = "image.cached"
IMAGE_DELETED = "image.deleted"
TASK_CREATED = "task.created"
TASK_COMPLETED = "task.completed"
TASK_FAILED = "task.failed"
class Event(BaseModel):
event_type: EventType
timestamp: datetime = Field(default_factory=datetime.now)
service: str
data: Dict[str, Any]
correlation_id: Optional[str] = None
user_id: Optional[str] = None
class Config:
json_encoders = {
datetime: lambda v: v.isoformat()
}