API 작성 중 

 

26번까지의 반복 작업(반복문)-- 각 작업마다 조금씩 다름 --

 

을 통해서 구한 정보를 데이터 베이스에 토큰단위로 삽입을 하는 작업인데,

 

카운트를 해보니 계속 0~9까지 작업 중 10번에서 계속 서버가 멈추는 이슈가 발생했습니다.

 

처음에는 10번 작업에 문제가 있는 줄 알고, 확인을 해봤는데 딱히 문제를 발견하지 못해서

 

10~26번 까지 돌려 보니 10,11,12.........20에서 멈추는 것이였습니다.

 

자바스크립트에 아직 그리 익숙치 않아 여러 문제 발생가능 지점을 찾아봤는데, 잘 해결이 안되었는데

 

문제는 connection.release()를 안해주고 있었습니다......바보......

 

const connection= await pool.getConnection(async (conn) => conn); 을 해줬으면 

 

밑에서 connection.release()를 반드시 해줘야 한다..

 

반납하지 않으면 connection leak현상이 발생할 수 있다.

 

릴리즈를 해줘야 이 커넥션은 pool로 돌아가서 다른 주체가 사용할 수 있도록 할 수 있다.

예전에 php를 스크립트 언어로 하여 서버를 구성했던 프로젝트가 있는데

 

 

이번에는 자바스크립트 런타임인 노드 js를 이용하여 서버를 구축하여 작업을 하고 있는데,

 

 

서버 구성의 큰 축은 같지만, 이게 혼자 알아가면서 작성하려고 하니 오류에 많이 부딛히네요

 

 

작동이 안하는 에러는 아니지만 오늘은 실행시 Unhandled promise rejection이 콘솔에 계속 떠서

 

 

알아보니 async,await에서 핸들링 처리를 하지 않은 부분이 있으면 이러한 warnig이 뜬다고 하네요.

 

 

async-await를 걸어준 곳은 try로 감싸주고 catch로 에러핸들링을 처리해줘야 한다는 것.........!!!!

 

 

async-await는 비동기 처리코드 작성이 익숙하지 않은 저 같은 사람에게 도움을 주는...... 아주 소중한....

 

 

바쁜 시기가 좀 지나가고 시간이 좀 나면 자바스크립트를 꼼꼼하게 공부해보고 싶네요......!

Python-shell 이용하여, Nodejs에서 파이썬 스크립트 실행시키기

 

최근노드js를 이용하여 어플을 제작 중에 있습니다.

 

만들고자 하는 기능 중 시간에 민감한 기능이 있는데, 파이썬의 api를 이용해서 구현한 것을

 

nodejs에서 실행시키고, 결과를 받아와야 할 일이 있어서, 찾아보고 진행하였습니다.

 

찾아본 결과, child-process 이용, python-shell 이용 등의 방법들이 있었는데, 비교적 간단한 파이썬 스크립트를

 

실행하는 작업이였기 때문에 저는 python-shell 을 이용하여 진행하였습니다.

 

매우 간단한 작업 같으나, 다른 블로그의 게시글 중 오래된 글들도 있어, 오류가 좀 났었습니다.

 

버전에 따른 차이도 조금 있을거라 생각하는데, 실행시킨 코드는 다음과 같습니다.

( 우분투 버전 18.04 에서 진행하였고, python-shell, 파이썬 설치 및 추가로 사용할 모듈들은 설치를 따로 해주셔야 

원하는 결과를 받으실 수 있을겁니다....!)

 

 도 설치해야 했던 것으로 기억하고, 제 코드에는 시간을 측정하는 코드가 추가로 들어가있습니다.

 

현재 상황에서는 파이썬 스크립트로 전달할 값이 없었으므로, 추석처리 했으나 포함시켜 실행도 가능합니다.

 

파이썬에서는 sys.argv 와 같은식으로 값을 사용가능합니다.

 

저는 index.js ( app.js 인 분들도 많으시겠죠 )

 

와 같은 폴더내에 파이썬 스크립트를 넣어놓았으므로 scriptPath: 는 따로 설정하지 않았습니다.

 

결과는 파이썬에서 print한 결과를 받아옵니다.

'Web & App > Nodejs' 카테고리의 다른 글

(21.05.26) connection.release() 꼭  (0) 2021.05.27
(21.05.23) async-await 에러 핸들링  (0) 2021.05.24

+ Recent posts