QRecall Community Forum
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Top Downloads] Top Downloads   [Groups] Back to home page 
[Register] Register /  [Login] Login 

QRecall 1.0.0(49) and the Scheduler RSS feed
Forum Index » Beta Version
Author Message
James Bucanek


Joined: Feb 14, 2007
Messages: 1568
Offline
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.

- QRecall Development -
[Email]
James Bucanek


Joined: Feb 14, 2007
Messages: 1568
Offline
A late issue with the new scheduler has required a change in how the scheduler tracks volume mount/unmount events. These events are used to run actions that are triggered when a volume is mounted.

The new scheduler now starts a second QRecallScheduler process. This process listens for volume events while the user is logged in. When the user logs out, this process stops.

Note that OS X unmounts all ejectable volumes when a user logs out and mounts them again when the user logs back in. While logged out, volumes are not mounted -- even if they are mounted by another user. If you have actions that are run when a volume mounts, those actions will not run while you are logged out.

After upgrading to 1.0.0(51), it is highly recommended that you restart your system. There are security issues with replacing a running daemon (which will be ironed out in a future version). Restarting allows the scheduler to be started with the correct execution permissions.

- QRecall Development -
[Email]
 
Forum Index » Beta Version
Go to:   
Mobile view
Powered by JForum 2.8.2 © 2022 JForum Team • Maintained by Andowson Chang and Ulf Dittmer