안녕하세요?

 

지난번 포스팅에서 PyQt5를 사용하면 기본적으로 멀티 프로세싱에서 잡을 수 없다는 이야기를 했는데, 일단 이게 키움증권의 Open API를 사용하기 위해서는 일단 PyQt5가 필요합니다. 그런데 이걸 사용하면 조금 문제인데, 한번 이 틀에서 벗어다기 위해서 작업을 하도록 해 보았습니다.

 

먼저 위 스크린샷처럼 일단 클래스 밖에 있는 메서드를 타켓으로 해서 멀티 프로세싱에 들어가 보도록 만들어 보았습니다.

 

그리고 클래스 밖에서는 클래스 안의 메서드를 작동시킬 수 있도록 메서드를 만들어 놓도록 했습니다. 이렇게 하는 것으로 준비는 되었다고 생각을 했는데..........

 

또 이상하게 number가 각각의 메서드마다 빠져서 생긴다는 에러 메세지가 뜨는 것을 볼 수 있었습니다. 이게 어떤 메서든인지 처음에는 몰랐는데........

 

일단 위 스크린샷처럼 처음에는 몰라서, 한번 멀티 프로세싱을 준비하는 메서드도 아예 밖으로 빼서 작업을 시키도록 했습니다.

 

 

그런데 알고보니 간단하기는 간단한 것이, 바로 클래스를 선언하지 않고 클래스 안의 메서드를 사용하려고 해서 벌어진 에러라고 합니다. 위 스크린샷처럼 클래스를 선언하는 것으로 이 에러를 해결할 수 있었습니다.

 

그런데 어떻게 된 것인지 몰라도, 위 스크린샷처럼 계속해서 프로그램이 얼어버린다고 해야 할까요? 전혀 진행이 되지 않는 것을 볼 수 있었습니다.

 

그래서 이게 아무래도 로그인에 관련된 문제가 아닌가 해서, 아예 시작하자 마자 로그인을 하지 말고, 로그인에 관한 메서드를 따로 만들도록 했습니다.

 

그리고 나서 위스크린샷처럼 아예 메서드를 집어 넣는 것으로 작동을 시키도록 메서드를 시작지점부터 짜서 작동을 시키도록 했습니다.

 

그리고 나서 아예 위 스크린샷처럼 로그인을 하기 위해서 일단 만들어 주는 것은 만들어 주도록 하고, 시작하면 먼저 로그인을 먼저 하도록 작성을 해 주었습니다.

 

그리고 따로 이렇게 하는 것으로 클래스 선언을 하는 부분에서 계속해서 막혔으므로, 클래스를 한번만 선언하도록 하고, 이후부터는 계속해서 돌려 쓰는 것으로 만들었습니다.

 

문제는 이렇게 해서 멈추어 버리는 문제는 해결이 되기는 되었는데, 결국 다시 처음의 pickle문제가 나오고 말았습니다. 무슨 피클도 아니고........ 아무튼 이 문제를 어떻게 이제 정면으로 돌파할 수는 없기 때문에 어떻게 우회를 해야 하는데, 지금은 뚜렷한 방법이 떠오르지는 않습니다.

+ Recent posts