Skip to content

[버그]: 얼마전부터 실시간 체결 웹소켓 에러가 생기네요..해결했습니다. ^^  #68

@honnae1

Description

@honnae1

빠른 문제 해결을 위해 다음을 확인했나요?

  • PyKis Issues에서 검색했지만 유사한 버그를 찾지 못했습니다.

버그 설명

KIS 최근 업데이트 후에 다음처럼 에러가 생겼습니다. 현재 혼자서 디버깅 중인데 좀 어렵네요. 부탁드립니다.

=======================================================================
[03/28 14:49:57] ERROR: RTC Failed to parse message: H0STCNI0 Invalid data length: 26
Traceback (most recent call last):
File "C:\Python312\Lib\site-packages\pykis\client\websocket.py", line 550, in _handle_event
for response in KisWebsocketResponse.parse(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\pykis\responses\websocket.py", line 89, in parse
raise ValueError(f"Invalid data length: {len(items)}")
ValueError: Invalid data length: 26

코드 내 89번 줄 --> if len(items) % len(fields) != 0:
raise ValueError(f"Invalid data length: {len(items)}")
여기서부터인거 같은데요.. 제가 돌려서 결과값 받아보니까 "len(items) ==>26, len(fields)==>23"으로 fields 갯수가 모자라네요.. 쫒아가고 있는 중인데 좀 어렵네요.. 웹소켓 실시간 체결결과 받는 루틴입니다. 부탁합니다..

종속성 버전 문제 진단

죄송합니다. 빼먹었습니다.

재현 방법

#웹소켓 등록 후
stock.account.on("execution", on_execution)

실제 주문 또는 체결(매수,매도)시 생기는데 다음 함수로 진행 전에 바로 error msg가 발생합니다.

def on_execution(self,sender: KisWebsocketClient, e: KisSubscriptionEventArgs[KisRealtimeExecution]):
#print(e.response)
'''

[03/28 14:49:57] ERROR: RTC Failed to parse message: H0STCNI0 Invalid data length: 26
Traceback (most recent call last):
File "C:\Python312\Lib\site-packages\pykis\client\websocket.py", line 550, in _handle_event
for response in KisWebsocketResponse.parse(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\pykis\responses\websocket.py", line 89, in parse
raise ValueError(f"Invalid data length: {len(items)}")
ValueError: Invalid data length: 26

추가 정보

No response

PR를 통해 라이브러리에 기여하고 싶으신가요?

  • 네, PR을 제출하여 도움을 주고 싶습니다!

Metadata

Metadata

Assignees

No one assigned

    Labels

    버그뭔가 작동하지 않습니다.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions