"Threading" modülünü kullanan bir Python programım var. Her saniyede bir, programım web'den bazı verileri alan ve bu verileri sabit diskime depolayan yeni bir iş parçacığı başlatıyor. Bu sonuçları depolamak için sqlite3 kullanmak istiyorum, ancak çalışmasını sağlayamıyorum. Sorun şu satırla ilgili gibi görünüyor:
conn = sqlite3.connect("mydatabase.db")
- Bu kod satırını her iş parçacığının içine koyarsam, veritabanı dosyasının kilitlendiğini söyleyen bir OperationalError alıyorum. Sanırım bu, başka bir iş parçacığının bir sqlite3 bağlantısı üzerinden mydatabase.db'ye sahip olduğu ve onu kilitlediği anlamına geliyor.
- Bu kod satırını ana programa koyarsam ve bağlantı nesnesini (conn) her bir iş parçacığına iletirsem, bir iş parçacığında oluşturulan SQLite nesnelerinin yalnızca aynı iş parçacığında kullanılabileceğini söyleyen bir ProgrammingError hatası alırım.
Önceden tüm sonuçlarımı CSV dosyalarında saklıyordum ve bu dosya kilitleme sorunlarından hiçbiri yoktu. Umarım bu sqlite ile mümkün olur. Herhangi bir fikir?