Best way to delay a script

I have a script that I made that I want to run every 10 minutes or so, but I don’t know what the best way to do it would be. I know of delays, but have heard that those are processor intensive. I’ve also heard of cron jobs, but those arn’t very user friendly for if I want to give this script to others. I want it to be like Twitterific and GMail Notifier for example. Any suggestions would be helpful, thanks!


the easiest way is is a scipt saved as stay open application with an idle handler,

on idle
    -- do something
    return 10 * minutes
end idle

the smartest way is a launchd agent, described here andhere.

In my installer this:

<key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>" & hr & "</integer> <key>Minute</key> <integer>" & mn & "</integer> </dict>
has to be replaced with:

<key>StartInterval</key> <integer>600</integer>

Seems you found a better answer than in this post:

If for whatever reason you would need to skip an idle handler, the least processor intensive pause would be:

repeat --until escape condition
-- set escape condition
-- your action
do shell script "sleep x"
end repeat