[launchd-dev] Cross-job coalescing
Kevin Van Vechten
kvv at apple.com
Wed Dec 5 00:58:45 PST 2007
On Dec 4, 2007, at 7:55 PM, Jeremy Reichman wrote:
> I haven't found a way to do this after looking over the docs (but
> not the
> new TechNote) ... I am wondering if there is a way to have two or more
> launchd tasks that call the same script coalesce into the same event
> events like wake from sleep.
> For example, what if the same script is called by both a nightly
> job, and a
> weekly job? Are the various instances of the jobs that would have run
> automatically then coalesced into one instance if their scheduled
> is missed?
> Or, if not, is there a way to have some other cross-job identifier
> that is
> shared by multiple launchd jobs so that the same target script is
> not run
> more than once?
Launchd does not run multiple instances of the same job. Instead each
of the criteria listed in the launchd plist is a reason to start the
job only if the job is not already running.
StartCalendarInterval supports an array of dictionaries -- you could
specify both a nightly time and a weekly time in the same plist,
either one of which will cause the job to be run, but not twice when
the nightly and weekly times coincide.
More information about the launchd-dev