- 2
- 이니스프리
- 조회 수 639
안녕하세요?
여러 개의 반복작업을 켜고 끄는 버튼이 있는 GUI를 만들어보려고 하는데요.
asyncio를 이용하여 비동기적으로 구현하면 되는 것인지, multiprocessing을 해야되는 것인지 제가 아직 실력이 부족하여 질문 드려요 ^^
PyQt를 이용하여 원하는 반복작업을 Start / End 할 수 있도록 버튼을 만들려고 합니다.
반복할 작업은 대단한게 아니라, 예컨대 10분 대기한 후에 한 번 ping 테스트를 하는 등 간단한 것입니다.
그런데 반복작업이 하나가 아니라 여러 개에요.
말로 표현하면 애해한데 대략적으로 UI가 다음과 같습니다.
1. 반복작업1 Start 버튼 / End 버튼
2. 반복작업2 Start 버튼 / End 버튼
3. 반복작업3 Start 버튼 / End 버튼
...
각각의 작업 및 이를 끄고 켜는 것은 상호간에 영향을 미치지 않습니다.
우선 제가 궁금한 점은 반복작업의 End 버튼을 눌렀을 때 loop를 정지시키는 것인데요.
동기적으로는 이걸 도저히 구현할 수 없더군요.
loop = True
while loop:
(반복할 내용)
if 조건:
loop = False
그래서 제 짧은 생각으로는 비동기적으로 구현해야 할 것 같은데요.
asyncio 라이브러리를 이용하여 네이티브 코루틴으로 비동기적으로 구현하면 되는 것인지, multiprocessing을 해야되는 것인지 잘 모르겠네요.
(처리속도는 중요하지 않습니다.)
어느 쪽으로 공부를 해야 해결되는 문제인지 조언을 부탁드립니다.
아무래도 제 실력을 한참 벗어나는 것 같아서 도저히 감을 못 잡겠네요.
감사합니다! 새해 복 많이 받으세요 ^-^
+) 질문의 취지가 애매한데 어느 방향으로 스크립트를 작성해야 보다 간단하게 완성을 할 수 있는지를 여쭤본 것이었어요~
일정 주기마다 반복하는 것을 구현하고 싶으시다면 threading 모듈에 있는 Timer를 활용하시면 됩니다.