

Launch times are approximate, depending on the number of processes and how long they each take to complete.ĭailyStartTime (Earliest time of day to execute the process script) This is rechecked 30 seconds (or at whatever delay you desire) after any triggered processes complete their runs.


These parameters are compared against the current day and time, and the history of prior executions of the process, to determine whether or not to run the process. Processes can be triggered by one or more of the following "Run Parameters". Processes may be added or removed any time the main script is stopped. The brains of the system, the script "Process_Runner.app", will dynamically detect them and deploy any found processes according to each one's unique schedule. There may be any number of processes present, or none at all. Note that each process consists of a pair of files: a compiled script file and a property list file. Sample_Process_1.plist A property list for the script's "Run Parameters" and execution history Sample_Process_1.scpt A process script file to execute Process_Runner.app The controlling script using an idle loop, saved as a stay-open application Here's how it works: first, a process folder is set up that contains the following files: We reboot the computer about once a week to maintain system stability. The system is robust and has been in continuous operation for years, running on a Mac Mini used as a "drone".
#Macos used runonly applescripts avoid for code
The code is written using only "vanilla" AS and has no dependencies other than System Events, Standard Additions, and a handful of shell commands. This system will launch any number of scripted processes, each on their own unique schedule of your choosing.
