Ich habe eine unglückliche Situation, wo mehrere Perl-Prozesse die gleiche SQLite3-Datenbank zur gleichen Zeit schreiben und lesen.Wie kann dieselbe SQLite3-Datenbank aus mehreren Perl-Prozessen verwendet werden?
Dies führt oft zum Absturz von Perl-Prozessen, da zwei Prozesse gleichzeitig schreiben oder ein Prozess von der Datenbank liest, während der andere versucht, denselben Datensatz zu aktualisieren.
Weiß jemand, wie ich die mehreren Prozesse koordinieren könnte, um mit der gleichen SQLite-Datenbank zu arbeiten?
Ich werde daran arbeiten, dieses System auf eine andere Datenbank-Engine zu verschieben, aber bevor ich das tue, muss ich es irgendwie reparieren, so wie es ist.
Sie sich anschauen sollten an die DB Anschluss eines Objekts DBIx :: Connector, und läuft Ihre Abfragen durch die 'laufen (fixup => ...)' API von DBIx :: Connector. Es wiederholt sich bei einem Fehler und weist eine starke Fehlertoleranz auf. Die 'txn()' Funktion kann in dieser Situation noch besser sein. – DavidO