Ho una sfortunata situazione in cui più processi Perl scrivono e leggono lo stesso database SQLite3 allo stesso tempo.Come utilizzare lo stesso database SQLite3 da più processi Perl?
Ciò causa spesso il blocco dei processi di Perl mentre due processi dovrebbero scrivere nello stesso momento, oppure un processo dovrebbe essere letto dal database mentre l'altro tenta di aggiornare lo stesso record.
Qualcuno sa come è possibile coordinare più processi per lavorare con lo stesso database SQLite?
Lavorerò sullo spostamento di questo sistema su un altro motore di database, ma prima di farlo, in qualche modo devo correggerlo per funzionare così com'è.
Si potrebbe considerare la connessione al DB utilizzando un oggetto DBIx :: connettore, e in esecuzione le vostre domande attraverso la conduzione '(correzione => ...)' API di DBIx :: Connector. Riprova in caso di errore e presenta una forte tolleranza ai guasti. La funzione 'txn()' potrebbe essere ancora migliore in questa situazione. – DavidO