I agree with you, I hate that I am calling it each time. But, there is no good way for me to cache it other then writing out to file because watcher.php ends its execution every minute. The best way is to switch to MySQL which will be a large headache for everyone already using my web application. I would need time to smooth out the migration path and a more compelling reason to switch than just automatic weather delays.
On the positive side, the few seconds do not effect the user at all since watcher.php is a shell run script which won’t block the UI.