Quote:
Originally Posted by johnelle
Thanks for the environmental setting...that made it more straightforward to implement the local DB solution. Big difference. Haven't quite got the sharing working on other machines yet but eventually I will beat them into submission like anything windooz.
|
@
johnelle - If you want those
other machines to update the library
concurrently -- forget it; at some point you'll end up with a corrupt library database.
The database software used by calibre (SQLite) is designed for a single user environment. It's the same software Mozilla and Google use in their browsers, there's a rumour that MS uses it in Windows 10
If you were to run
calibre-server on the
other machines -- it's currently read only -- then you could keep a copy of the database on those machines and use the environment variable to refer to it.
The 'update' machine would put a copy of the database file on the server when its instance of the calibre library manager closes, and the other machines would take a copy of that file when their instances of calibre-server starts.
NB - I have never tried this. You might need to have the 'update' machine write a 'semaphore' to the server before it copies the database there and remove it after it's done copying. The other machines would look for the 'semaphore' before taking a copy and starting calibre-server and wait if the 'semaphore' is present, or tell the user to try again in a few minutes.
BR