QRecall 1.0.0(49) changes how the background scheduler process (daemon) is installed and run. In prior versions, the scheduler was starting using a cron job. Starting with version 1.0.0(49), the scheduler is installed as a launchd daemon (in /Library/LaunchDaemons). This should resolve a number of problem that people have been experiencing with Mac OS 10.4.10 and 10.5. Specifically, the scheduler process was being unceremoniously killed by the operating system when the user logs out or restarts. This was causing a raft of problems, ranging from messages about broken communications pipes, not running actions when they were scheduled to run, and leaving actions stuck indefinitely "waiting." As a launchd daemon, the scheduler should now be running all of the time and doesn't have to be periodically restarted. This means less overhead, more predictable execution of scheduled actions, and QRecall won't be affected by customized installations of cron. The first time you launch QRecall and it detects saved actions, you save an action, or you try to schedule or run an action interactively, it will prompt you to install the scheduler. You may be required to provide the name and password of an administrative user. So you might be asking why the scheduler hasn't always been a launchd daemon? The reason is that this change breaks a big promise in QRecall: Namely, that all QRecall features are available to non-administative users, making QRecall usable in a lab or shared computer environment. I felt very strongly about this promise, but fighting Apple and their ever-changing treatment of background processes, cron, security, and kernel namespaces has made this impossible. The interface for installing (and uninstalling) the scheduler will get some refinement in upcoming releases. In the mean time, please provide any feedback you have about the new scheduler installation process or any problems with the scheduler.
|