Wednesday, September 12, 2018

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.

Comments RSS · Twitter

Leave a Comment