Backup on Connect, launchd, and ThrottleInterval
Dave Nanian (tweet):
But that wasn’t the problem. The problem is what the man page isn’t saying, but is implied in the last part: “jobs should linger around just in case they are needed again” is the key.
Basically, the job must run for at least as long as the
ThrottleInterval
is set to (default = 10 seconds). If it doesn’t run for that long, it respawns the job, adjusted by a certain amount of time, even when the condition isn’t triggered again.So, in our case, we’d do our thing quickly and quit. But we didn’t run for the minimum amount of time, and that caused the logging.
launchd
would then respawn us. We wouldn’t have anything to do, so we’d quit quickly again, repeating the cycle.