In my case watching for timestamp change is not helpful because the metadata.db is locked by existing calibre-server.exe instance and it is not updated by other software (bitsync for me).
I then need to have calibre-server.exe automatically killed (by windows task scheduler), then during the five minutes while calibre-server.exe is not running, the metadata.db file is free for updating (if any), then calibre-server.exe is automatically called for running again (for 55 minutes now).
I know it sounds and is unprofessional and newbie, but that's all I can do.

. Please teach me a better alternative. I only have a windows pc