/Users/jominseo/HGZero/ai-python/main.py:45: DeprecationWarning: on_event is deprecated, use lifespan event handlers instead. Read more about it in the [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/). @app.on_event("startup") INFO: Will watch for changes in these directories: ['/Users/jominseo/HGZero/ai-python'] INFO: Uvicorn running on http://0.0.0.0:8086 (Press CTRL+C to quit) INFO: Started reloader process [83849] using WatchFiles INFO: Started server process [83852] INFO: Waiting for application startup. 2025-10-29 17:40:52,272 - main - INFO - 애플리케이션 시작 - Event Hub 리스너 백그라운드 실행 2025-10-29 17:40:52,272 - app.services.eventhub_service - INFO - Event Hub 리스너 시작 INFO: Application startup complete. 2025-10-29 17:40:52,370 - app.services.redis_service - INFO - Redis 연결 성공 2025-10-29 17:40:52,370 - azure.eventhub.aio._eventprocessor.event_processor - INFO - EventProcessor 'e4acf592-7d23-4eed-bfc5-79f73d26adbb' is being started 2025-10-29 17:40:52,504 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: None -> 2025-10-29 17:40:52,531 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:52,531 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:52,531 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:52,531 - azure.eventhub._pyamqp.aio._session_async - INFO - Session state changed: -> 2025-10-29 17:40:52,531 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,531 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:52,532 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,532 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:52,545 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:52,595 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:52,647 - azure.eventhub._pyamqp.aio._session_async - INFO - Session state changed: -> 2025-10-29 17:40:52,698 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,699 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:52,750 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,750 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:52,750 - azure.eventhub._pyamqp.aio._cbs_async - INFO - CBS completed opening with status: 2025-10-29 17:40:52,955 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,955 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:52,955 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,955 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:52,967 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,967 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:52,967 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,967 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._session_async - INFO - Session state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._session_async - INFO - Session state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:52,976 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,977 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:52,977 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,977 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:52,977 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:52,977 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:52,977 - azure.eventhub.aio._eventprocessor.event_processor - INFO - EventProcessor 'e4acf592-7d23-4eed-bfc5-79f73d26adbb' has claimed partition '0' 2025-10-29 17:40:52,977 - azure.eventhub.aio._eventprocessor.event_processor - INFO - start ownership '0', checkpoint None 2025-10-29 17:40:53,043 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: None -> 2025-10-29 17:40:53,068 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:53,068 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:53,068 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:53,068 - azure.eventhub._pyamqp.aio._session_async - INFO - Session state changed: -> 2025-10-29 17:40:53,069 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:53,069 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:53,069 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:53,069 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:53,083 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:53,134 - azure.eventhub._pyamqp.aio._connection_async - INFO - Connection state changed: -> 2025-10-29 17:40:53,185 - azure.eventhub._pyamqp.aio._session_async - INFO - Session state changed: -> 2025-10-29 17:40:53,236 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:53,236 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link receiver state changed: -> 2025-10-29 17:40:53,288 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:53,288 - azure.eventhub._pyamqp.aio._management_link_async - INFO - Management link sender state changed: -> 2025-10-29 17:40:53,288 - azure.eventhub._pyamqp.aio._cbs_async - INFO - CBS completed opening with status: 2025-10-29 17:40:53,491 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:53,503 - azure.eventhub._pyamqp.aio._link_async - INFO - Link state changed: -> 2025-10-29 17:40:53,592 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001","text”:”오늘은 OFDM 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.”,”speakerId":"UNKNOWN","speakerName":"참석자","timestamp": 2025-10-29 17:40:53,592 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001","text”:”오늘은 OFDM 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.”,”speakerId":"UNKNOWN","speakerName":"참석자","timestamp": 2025-10-29 17:40:53,593 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798e”,”recordingId":"test-meeting-001","meetingId":"test-meeting-001","text”:”오늘은 OFDM 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.”,”speakerId":"UNKNOWN","speakerName":"참석자","timestamp": 2025-10-29 17:40:53,593 - app.services.eventhub_service - ERROR - 이벤트 처리 오류: Expecting ',' delimiter: line 1 column 144 (char 143) Traceback (most recent call last): File "/Users/jominseo/HGZero/ai-python/app/services/eventhub_service.py", line 71, in on_event event_data = json.loads(raw_body) File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ~~~~~~~~~~~~~~~~~~~~~~~^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 345, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 361, in raw_decode obj, end = self.scan_once(s, idx) ~~~~~~~~~~~~~~^^^^^^^^ json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 144 (char 143) 2025-10-29 17:40:53,597 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfe9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798e”,”recordingId":"test-meeting-001","meetingId":"test-meeting-001","text”:”오늘은 OFDM 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.”,”speakerId":"UNKNOWN","speakerName":"참석자","timestamp": 2025-10-29 17:40:53,597 - app.services.eventhub_service - ERROR - 이벤트 처리 오류: Expecting ',' delimiter: line 1 column 144 (char 143) Traceback (most recent call last): File "/Users/jominseo/HGZero/ai-python/app/services/eventhub_service.py", line 71, in on_event event_data = json.loads(raw_body) File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ~~~~~~~~~~~~~~~~~~~~~~~^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 345, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 361, in raw_decode obj, end = self.scan_once(s, idx) ~~~~~~~~~~~~~~^^^^^^^^ json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 144 (char 143) 2025-10-29 17:40:53,598 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001","text":"신제품 개발 일정에 대해 논의하고 있습니다.","speakerId":"UNKNOWN","speakerName":"참석자","timestamp":[2025,10,29,10,25, 2025-10-29 17:40:53,598 - app.services.eventhub_service - INFO - STT 텍스트 수신 - meetingId: test-meeting-001, 텍스트 길이: 24, timestamp: 1761701136000 2025-10-29 17:40:53,618 - app.services.eventhub_service - INFO - ✅ Redis 저장 완료 - meetingId: test-meeting-001, timestamp: 1761701136000 2025-10-29 17:40:53,618 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001","text":"오늘은 OFDM 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.","speakerId":"UNKNOWN","speakerName":"참석자","timestamp": 2025-10-29 17:40:53,618 - app.services.eventhub_service - INFO - STT 텍스트 수신 - meetingId: test-meeting-001, 텍스트 길이: 42, timestamp: 1761701137000 2025-10-29 17:40:53,637 - app.services.eventhub_service - INFO - ✅ Redis 저장 완료 - meetingId: test-meeting-001, timestamp: 1761701137000 2025-10-29 17:40:53,638 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001”,”sessionId”:”meeting-123”,“text":"오늘은 OFDM 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.","speakerId":"UNKNOWN","speak 2025-10-29 17:40:53,638 - app.services.eventhub_service - ERROR - 이벤트 처리 오류: Expecting ',' delimiter: line 1 column 227 (char 226) Traceback (most recent call last): File "/Users/jominseo/HGZero/ai-python/app/services/eventhub_service.py", line 71, in on_event event_data = json.loads(raw_body) File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ~~~~~~~~~~~~~~~~~~~~~~~^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 345, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 361, in raw_decode obj, end = self.scan_once(s, idx) ~~~~~~~~~~~~~~^^^^^^^^ json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 227 (char 226) 2025-10-29 17:40:53,639 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001”,”sessionId”:”meeting-123”,“text":"오늘은 OFDM 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.","speakerId":"UNKNOWN","speak 2025-10-29 17:40:53,639 - app.services.eventhub_service - ERROR - 이벤트 처리 오류: Expecting ',' delimiter: line 1 column 227 (char 226) Traceback (most recent call last): File "/Users/jominseo/HGZero/ai-python/app/services/eventhub_service.py", line 71, in on_event event_data = json.loads(raw_body) File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ~~~~~~~~~~~~~~~~~~~~~~~^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 345, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 361, in raw_decode obj, end = self.scan_once(s, idx) ~~~~~~~~~~~~~~^^^^^^^^ json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 227 (char 226) 2025-10-29 17:40:53,640 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001","text":"오늘은 OFDM 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.","speakerId":"UNKNOWN","speakerName":"참석자","timestamp": 2025-10-29 17:40:53,641 - app.services.eventhub_service - INFO - STT 텍스트 수신 - meetingId: test-meeting-001, 텍스트 길이: 42, timestamp: 1761701137000 2025-10-29 17:40:53,660 - app.services.eventhub_service - INFO - ✅ Redis 저장 완료 - meetingId: test-meeting-001, timestamp: 1761701137000 2025-10-29 17:40:53,661 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001”,”sessionId”:”meeting-123”,“text":"오늘은 OFDM 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.","speakerId":"UNKNOWN","speak 2025-10-29 17:40:53,661 - app.services.eventhub_service - ERROR - 이벤트 처리 오류: Expecting ',' delimiter: line 1 column 227 (char 226) Traceback (most recent call last): File "/Users/jominseo/HGZero/ai-python/app/services/eventhub_service.py", line 71, in on_event event_data = json.loads(raw_body) File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ~~~~~~~~~~~~~~~~~~~~~~~^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 345, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 361, in raw_decode obj, end = self.scan_once(s, idx) ~~~~~~~~~~~~~~^^^^^^^^ json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 227 (char 226) 2025-10-29 17:40:53,662 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001”,”sessionId”:”meeting-123”,“text":"오늘은 OFDM. 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.","speakerId":"UNKNOWN","spea 2025-10-29 17:40:53,662 - app.services.eventhub_service - ERROR - 이벤트 처리 오류: Expecting ',' delimiter: line 1 column 227 (char 226) Traceback (most recent call last): File "/Users/jominseo/HGZero/ai-python/app/services/eventhub_service.py", line 71, in on_event event_data = json.loads(raw_body) File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ~~~~~~~~~~~~~~~~~~~~~~~^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 345, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 361, in raw_decode obj, end = self.scan_once(s, idx) ~~~~~~~~~~~~~~^^^^^^^^ json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 227 (char 226) 2025-10-29 17:40:53,663 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7cfd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bba798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001”,”sessionId”:”meeting-123”,“text":"오늘은 OFDM. 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.","speakerId":"UNKNOWN","spea 2025-10-29 17:40:53,663 - app.services.eventhub_service - ERROR - 이벤트 처리 오류: Expecting ',' delimiter: line 1 column 227 (char 226) Traceback (most recent call last): File "/Users/jominseo/HGZero/ai-python/app/services/eventhub_service.py", line 71, in on_event event_data = json.loads(raw_body) File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/__init__.py", line 346, in loads return _default_decoder.decode(s) ~~~~~~~~~~~~~~~~~~~~~~~^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 345, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.13/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py", line 361, in raw_decode obj, end = self.scan_once(s, idx) ~~~~~~~~~~~~~~^^^^^^^^ json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 227 (char 226) 2025-10-29 17:40:53,664 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7dgd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bdg798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001","sessionId":"meeting-123","text":"오늘은 OFDM. 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.","speakerId":"UNKNOWN","spea 2025-10-29 17:40:53,664 - app.services.eventhub_service - INFO - STT 텍스트 수신 - meetingId: test-meeting-001, 텍스트 길이: 43, timestamp: 1761701137000 2025-10-29 17:40:53,685 - app.services.eventhub_service - INFO - ✅ Redis 저장 완료 - meetingId: test-meeting-001, timestamp: 1761701137000 INFO: 127.0.0.1:49558 - "GET /health HTTP/1.1" 200 OK 2025-10-29 17:42:22,649 - app.services.eventhub_service - INFO - 수신한 이벤트 원본 (처음 300자): {"eventId":"7436b96c-3a60-418b-848d-727770d7dgd9","eventType":"SegmentCreated","segmentId":"9483cf8a-e41e-49e9-b2c0-28519bdg798d","recordingId":"test-meeting-001","meetingId":"test-meeting-001","sessionId":"meeting-123","text":"오늘은 OFDM. 기술 적용방안과 AICC 구축 협의에 대해 논의해보겠습니다.","speakerId":"UNKNOWN","spea 2025-10-29 17:42:22,649 - app.services.eventhub_service - INFO - STT 텍스트 수신 - meetingId: test-meeting-001, 텍스트 길이: 43, timestamp: 1761701137000 2025-10-29 17:42:22,667 - app.services.eventhub_service - INFO - ✅ Redis 저장 완료 - meetingId: test-meeting-001, timestamp: 1761701137000 2025-10-29 17:42:52,639 - watchfiles.main - INFO - 3 changes detected 2025-10-29 17:42:55,136 - watchfiles.main - INFO - 3 changes detected INFO: Shutting down INFO: Waiting for application shutdown. INFO: Application shutdown complete. INFO: Finished server process [83852] INFO: Stopping reloader process [83849]