본문 바로가기
무모한 도전-주식 인공지능 만들기

QThread의 적용 part7

by 인터넷떠돌이 2019. 7. 29.
반응형

안녕하세요?

 

지난번 포스팅에서 공유할 정보는 첫번째 스레드에서 가지고 오는 것으로 처리를 하였고, 다음으로 해야 할일은 이제 데이터를 저리하는 과정에 왔다고 해야 할까요? 원래는 한개의 메서드에 있던 여러개의 기능들을 나누어서 다루다 보니, 이런 일도 생기는 모양입니다.

 

일단 먼저 해야할 일이 하나 있습니다. import 명령어를 써서 sqlite3와 pandas를 가지고 오도록 하는 것 입니다. 왜냐하면 이 라이브러리들이 중요하게 쓰이는 메서드이기 때문입니다.

 

그리고 나서 데이터를 처리하는 과정을 거치기 위해, 일단 이 메서드를 붙여넣기 하고, 이제 runningMan에서 이를 실행하도록 해야 합니다.

 

그런데 실행을 하자마자 위 스크린샷과 같은 에러를 만나고 말았습니다. 이래서야 이걸 어떻게 제대로 쓴다고 말할 수 있는지 의문이라는 생각이 듭니다.

 

그래서 다음으로는 위 스크린샷처럼 어디서 에러가 났느냐 했더니, item_count2라고 해서, 보유주식의 정보를 가지고 와서, 이 정보가 얼마나 있는지 알아보는 과정을 거쳐야 하는데, 그걸 하지 않아서 생긴 에러였습니다.

 

 

그리고 나서 어디가 또 문제인가 했더니, 위 스크린샷처럼 Kiwoom.py에 있는 트리거가 하나 초기화 되어야 하는데 이게 되지 않아서 생긴 문제였습니다.

 

이제서야 4번째 스레드까지 제대로 작동을 하는 것을 확인할 수 있었습니다. 일단 여기서 Average_returning까지 보내는 데이터는 제대로 완성이 되었다는 것을 확인할 수 있었습니다.

 

그리고 나서 다음으로 필요한 라이브러리는 subprocess이기 때문에, 일단 이 라이브러리를 import해 오도록 합니다. 그리고 나서 다음으로 할일은.......

 

일단 만약을 위해서 기존에 만들어 주었던 Average_returning2.py를 복사해서 가지고 오도록 합니다. 지금 당장은 이걸 쓰겠다는 것은 일단 아닙니다.

 

그런데 계속해서 Average_returning에 계속 데이터를 보내면 2번재 스레드이후에 3번재 스레드에서 에러가 계속해서 나는 것을 확인할 수 있었습니다. 그래서 아예 만드는 스레드를 2개로 이번에는 줄여 보았습니다.

 

이렇게 해서야 이제서야 중간에 멈추는 현상없이 두뇌역할을 하는 py파일에 데이터를 전달하고, 이를 받아서 처리하는 과정을 거치는 것을 확인할 수 있었습니다.

 

그리고 나서 이제는 지쳐오기 시작해서 위 스크린샷처럼 이후의 과정을 처리하기 위한 메서드를 한꺼번에 복사해서 붙여넣기 하였습니다.

 

이렇게 해서 일단 위 스크린샷처럼 단 2개의 스레드만이 생성되어서 작동을 하는 것에는 성공할 수 있었습니다. 다만 이렇게 해서도, 제대로 된 작업이 되는 것인지.... 그리고 처음에 기대한 것처럼 수많은 스레드를 사용하려고 했습니다만, 그건 되지 않는 것을 확인할 수 있었습니다.

반응형

'무모한 도전-주식 인공지능 만들기' 카테고리의 다른 글

QThread의 적용 part9  (0) 2019.07.29
QThread의 적용 part8  (3) 2019.07.29
QThread의 적용 part6  (4) 2019.07.28
QThread의 적용 part5  (0) 2019.07.28
QThread의 적용 part4  (0) 2019.07.28