View Single Post
Old 12-24-2015, 03:32 PM   #8
BetterRed
null operator (he/him)
BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.
 
Posts: 21,797
Karma: 30237628
Join Date: Mar 2012
Location: Sydney Australia
Device: none
Quote:
Originally Posted by johnelle View Post
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

Last edited by BetterRed; 12-25-2015 at 03:28 AM.
BetterRed is offline   Reply With Quote