A few interesting things done in the daemon.
First, the daemon should be a lot more memory friendly. With proper threading a lot of cleanup work can go on in the background, so the –nowb flag is now obsolete and the database is constantly synchronized and trimmed when work is completed. My practical experiments (8-10 hour long canto-daemon instances) showed about a 50% decrease from older versions with no plugins running.
Second, file sync plugins were added to allow you to synchronize your database between multiple daemon instances. WAN and LAN facing canto-daemons have been operational since day one (with SSH port forwarding for any semblance of security), but now you can sync to any place accessible via rsync – which includes remote SSH servers and also local filesystems so you could pair it with sshfs/NFS/Dropbox you’ve setup previously. The plugins still require more testing, but so far they’ve been pretty well behaved here. They do need additions for canto-remote sync
to work, but for now it syncs on start, stop, and periodically in between.
To try it out, copy or link canto-next/plugins/sync*
to ~/.canto-ng/plugins/
and then tweak sync-rsync.py
to set a SYNC_LOCATION
(read the top of the file) and restart the daemon. Do the same (or copy over) on another machine to sync between the two.
Some plugin control switches were added, mostly for debugging, and some other minor cleanups too like closing the dangling configuration file handle.
All in all, I’m pleased with the progress of both memory consumption and a heavy duty use of the plugin architecture.
My next bit is to round out the canto-remote
part of the file sync plugins and then I’ll be back to canto-curses to work on more polish.