본문 바로가기
파이썬

파이썬 Python sqlite3 및 동시성

by º기록 2020. 10. 31.
반응형

"스레딩"모듈을 사용하는 Python 프로그램이 있습니다. 매초마다 내 프로그램은 웹에서 일부 데이터를 가져 오는 새 스레드를 시작하고이 데이터를 내 하드 드라이브에 저장합니다. 이 결과를 저장하기 위해 sqlite3를 사용하고 싶지만 작동 할 수 없습니다. 문제는 다음 줄에 관한 것 같습니다.

conn = sqlite3.connect("mydatabase.db")

이전에는 모든 결과를 CSV 파일에 저장했지만 이러한 파일 잠금 문제가 없었습니다. 바라건대 이것은 sqlite로 가능할 것입니다. 어떤 아이디어?

 

해결 방법

 

소비자-생산자 패턴을 사용할 수 있습니다. 예를 들어 스레드간에 공유되는 대기열을 만들 수 있습니다. 웹에서 데이터를 가져 오는 첫 번째 스레드는이 데이터를 공유 큐에 넣습니다. 데이터베이스 연결을 소유하는 다른 스레드는 큐에서 데이터를 빼고 데이터베이스로 전달합니다.

 

참조 페이지 https://stackoverflow.com/questions/393554

 

 

반응형

댓글