tao2/tao_scraping_thread.py

36 lines
1.2 KiB
Python

from PyQt5.QtCore import QThread, pyqtSignal
import sqlite3
import time, json
from random import randint
import logging
from modules.automatch_tao import automatch
# 로거 인스턴스 가져오기
logger = logging.getLogger('default_logger')
class TaoScrapingThread(QThread):
progress_updated = pyqtSignal(int, int)
#finished = pyqtSignal()
def __init__(self, db_name, item_count, sort_order, parent=None):
super(TaoScrapingThread, self).__init__(parent)
self.db_name = db_name
self.item_count = item_count
self.sort_order = sort_order
def run(self):
def update_progress(current, total):
self.progress_updated.emit(total, current) # 진행 상황을 UI 스레드에 전달합니다.
logger.debug("Automatch 작업 시작")
try:
# automatch 함수 호출 시 콜백 함수 전달
automatch(self.db_name, self.item_count, self.sort_order, progress_callback=update_progress)
time.sleep(0.1) # 예시로 작업 지연을 표현합니다.
logger.debug("Automatch 작업 완료")
except Exception as e:
logger.error(f"Automatch 스레드에서 오류 발생: {e}")
finally:
self.finished.emit()