[python] PySimpleGUI에서 실시간 대기열 모니터링 도구 만들기

이번 블로그 포스트에서는 Python의 GUI 라이브러리인 PySimpleGUI를 사용하여 실시간 대기열 모니터링 도구를 만드는 방법을 알아보겠습니다.

소개

대기열 모니터링은 많은 시스템에서 중요한 요소입니다. 예를 들어, 작업이 대기열에 추가되고 완료되는 동안 진행 상황을 모니터링하고 싶을 수 있습니다. 이를 위해 PySimpleGUI를 사용하여 실시간으로 대기열을 모니터링하는 도구를 만들어 보겠습니다.

필요한 패키지 설치

먼저, PySimpleGUI를 설치해야 합니다. 다음 명령을 사용하여 패키지를 설치하세요.

pip install PySimpleGUI

코드 작성

이제 코드를 작성해보겠습니다. 먼저, 필요한 모듈을 가져옵니다.

import PySimpleGUI as sg
import time
import random

다음으로, GUI 레이아웃을 정의합니다. 이 예제에서는 단순한 레이아웃으로 구성되어 있습니다.

layout = [[sg.Text("작업 대기열:")],
          [sg.Output(size=(30, 10))],
          [sg.Button("추가"), sg.Button("종료")]]

그 다음, 윈도우를 생성합니다.

window = sg.Window("대기열 모니터링 도구", layout)

이제 이전에 추가된 작업들을 나타낼 대기열 리스트를 생성합니다.

job_queue = []

이제 메인 루프를 만들어봅시다. 사용자가 “종료” 버튼을 클릭하기 전까지 계속해서 작업을 추가할 수 있습니다.

while True:
    event, values = window.read(timeout=100)
    if event == sg.WINDOW_CLOSED or event == "종료":
        break
    if event == "추가":
        job = f"작업 {random.randint(1, 100)}"
        job_queue.append(job)
        print(f"{job}이 대기열에 추가됨")
    time.sleep(0.1)

추가된 작업을 모니터링하기 위해 대기열을 출력합니다.

for job in job_queue:
    print(job)

마지막으로, 윈도우를 닫고 프로그램을 종료합니다.

window.close()

실행하기

코드를 작성한 후에는 이를 실행해보세요. 대기열에 작업을 추가하면 실시간으로 대기열이 출력됩니다. “종료” 버튼을 클릭하여 프로그램을 종료할 수 있습니다.

결론

이렇게 PySimpleGUI를 사용하여 실시간 대기열 모니터링 도구를 만들 수 있습니다. 이 예제는 간단한 예시일 뿐이며, 실제로는 더 복잡한 기능을 추가할 수 있습니다. PySimpleGUI는 간편하면서도 강력한 도구로서, Python으로 GUI 애플리케이션을 개발하는 데 유용한 옵션입니다.

참고 자료