전편 줄거리


익스큐터, 스케쥴러 만들어두고

이걸 어떻게 써먹을까 고민하다가 찍쌈



오늘은 다음편







전편에 만들어뒀던 scheduler는 그냥 안쓰기로함

저대로 돌렸더니 스케쥴러는 인자를 받을수가 업대 시팔려니

응 안써 ^^ㅗ


그냥 executor에 하나씩 차곡차곡 쌓고 5초마다 api호출하는 무한루프로 변경함

무한루프 내에서 호출하는 api는 다음과같은데




좆도없고 돌아가는 컨테이너가 있는지 없는지 확인하는거임

첫글에도 이야기했지만 GPU를 사용중인 다른 컨테이너가 있다면 다음 컨테이너가 돌아가서는 안댐.

물론 이는 머신 성능이 좋아지면 좋아질수록 GPU사용 제한을 늘리고 여러 컨테이너가 동시에 작동 할 수도 있기때문에

추후엔(언젠가는) 수정 될 여지가 있는 부분임

체크체크




그렇게 무한루프를 빠져나오면, rdb에 이제 컨테이너가 돌아간다고 알려주고

로그파싱을 위해 websocket으로 쏘는 attach api를 호출할것임






이게 그 문제의 ws 수신부

역시 좆바라 간결하게 할수없음이 매우 통탄스러움


기능 자체는 별거없고

ws를 통해 커넥션 맺고, 커넥션에 실패 할 경우 3초간격으로 auto reconnect (제한은 따로 안뒀는데 나중에 제한도 따로 둘 생각)

오버라이드 하는 함수 중 바이너리 메세지, 커넥션 클로즈 두개만을 사용할거고

바이너리 메세지는 ws를 통해 수신되는 메세지

커넥션 클로즈드는 커넥션이 닫힐때 뭐할꺼임? 정도가 되겠음



몇번 시험삼아 돌려본 결과

컨테이너가 종료될때도 afterConnectionClosed가 호출되고

컨테이너가 에러나서 뻗을대도 afterConnectionClosed가 호출되는 좆같은 현상이 발견됨


그래서 예외처리를 어떻게 해줘야 할지

지금부터 생각하러 가야겠음



3편에 계쏚