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

병렬처리 방법을 이용한 새 방법의 시도 part3

by 인터넷떠돌이 2019. 6. 17.
반응형

안녕하세요?

 

지난번 포스팅에서 어떻게 문제가 생겼습니다. 그래서 이 문제를 해결하기 위해서 좌우충돌, 이래저래 시행착오를 하는 과정을 이번 포스팅에서 올려 보고자 합니다.

 

먼저 kiwoom.py를 하나 공유해서 이런 문제가 생긴 것이 아닌가 해서, 한번 위 스크린샷처럼 새로운 kiwoom.py파일들의 복사본을 만들어 보았습니다.

 

이렇게 해서, 모두 총 6개의 kiwoom.py파일을 만들어 놓는데 성공하기는 했습니다. 이제 남은 것은 이 각각의 py파일들을 각자 가지고 가도록 만드는 것 입니다.

 

위 스크린샷처럼, 먼저 import를 다루는 항목에서 기존의 kiwoom대신에 다른 py파일의 이름을 만들어서 두도록 합니다. 이렇게 하는 것으로 다음 작업을 하도록 합니다.

 

 

그런데 이러한 시도에도 불구하고 여전히 위 스크린샷과 같은 에러가 계속해서 발생하는 것을 볼 수 있기는 있었습니다. 그래서 다음으로 무엇을 해야 할지 한참 해메었습니다.

 

혹시나 싶어서 한번 Parent_pytrader를 하나 더 만들어 보아서, 새로운 방법으로 병렬처리를 시도해 보고자 하였습니다. 물론 이 방법도 처음에는 성공이 보장되었다고 말하기는 곤란합니다.

 

일단 클래스 명을 붙이는 것을 하지 않았으며, 다음으로 했는 것은 multiprocessing모듈에 있는 Pool을 이용해서 한번 작업을 하도록 시도해 보도록 합니다.

 

이렇게 해서 일단 처음으로 작업이 일단 큰 문제없이 진행이 되는 것은 되기는 되었습니다. 이렇게 하는 것으로 일단 코드 자체에는 당장에 문제가 없다는 것을 알 수 있었습니다.

 

문제는 이렇게 해서 실행은 되는데, 위 스크린샷처럼 계속해서 작동이 중지되는 것을 볼 수 있었다는 것 입니다. 이래서야 바꾸어도 별 소용이 없는게 아닌가 합니다.

 

그래서 다음으로 했는 것은 이제 subprocess를 이용하는 것이 아니라, QProcess를 이용하는 것으로 방향을 선회하도록 했습니다.

 

이렇게 하는 것으로 일단 6개의 UI가 뜨는 것을 확인했으며, 제대로 멈추지 않고 연속적으로 작동을 하는 것 까지는 확인을 했습니다. 다만, 이게 진자로 제대로 작동이 되는 것인지 아닌지는 잘 모르겠습니다만, 일단 기존의 방법에 비해서 무언가 한걸음 나아간 기분은 듭니다.

반응형