배움/오늘의 실패
-
Promise.race()배움/오늘의 실패 2023. 11. 27. 19:01
문제상황 : 지금까지 대부분의 작업은 axios를 이용해서 fetching을 진행하였는데.. 새로 작성해야 하는 코드는 FileSystem.uploadAsync를 이용해서 fetching을 진행해야 했다. 하지만 이 부분에서 무한히 응답을 대기하고만 있는 상황이 발생했다. 원인을 추적해보니, FileSystem으로 작성한 코드부에서 Timeout error가 발생하지 않고 있었다. axios를 활용한 코드에서는 선임자가 Timeout error handling 코드를 이미 포함시켜놓았기에 갖다 쓰기만 하면 되었는데, FileSystem은 이러한 코드부가 없기에 내가 직접 Timeout Error를 구현해보고자 하였다. 구현방법 : 1. Promise를 이용해 응답을 요청한다. 2. 또 다른 Promis..
-
Redis에 hash가 계속 누적되고 있음배움/오늘의 실패 2023. 4. 12. 18:04
주기적으로 함수를 자동 실행하는 라이브러리인 cron을 통해 하루동안 서비스를 이용한 유저의 수를 관리하는 중이다. 현재 cron값은 '0 0 * * *' 인데, 이는 곧 매일 자정에 이용 유저 수를 초기화하도록 예약한다는 의미다. 그런데 지금까지 백엔드 서버가 켜져있는 동안 생성된 해시들이 사라지지 않고 계속 누적되고 있는 것이 발견되었다. 서비스를 시작한 시점에서 1년이 지났다면 365개의 쓸모없는 해시가 누적되어있다는 것이다. 이 문제를 발견하고는, 작업이 끝나고 곧바로 해시를 삭제하는 프로퍼티인 'removeOnComplete'를 추가하여 문제를 해결했다.
-
VS Code debugging tool delay배움/오늘의 실패 2022. 10. 20. 23:50
VSCode를 이용하면서 debugging tool을 쓸 때.. breakpoint에 해당하는 API를 실행하면 언젠가부터 line catch가 되기까지 엄청나게 시간이 걸리기 시작했다. 원래라면 곧바로 되야하는것을 3분 ~ 5분까지? 걸리는 것이다. 때문에 디버깅하기가 엄청나게 곤란해졌다. 하지만 급한 불은 꺼야하고.. 일단은 console.log로 디버깅하지만 매우 불편하다.. 그런데 https://jaytsol.tistory.com/entry/Archiver-library-fail 여기서 발생한 버그를 잡기위해 노드버전을 본래대로 수정하자마자 정상적으로 작동한다. 노드버전이 여기까지도 관여하는구나..?? 이렇게 삽질해가면서.. 후에 또 괴상한 버그가 발생하면, 노드버전 확인을 해결책 중 하나로 떠올..