Script Security and Isolation

When adTempus runs a script, it launches a separate process (called "(Undefined variable: Primary.JobHost Name).jobhost.exe") to host the script. The host process runs under the user account specified for the job, thus ensuring that the script cannot perform any actions that the user does not have permission for. Running the script in a separate host process also protects the adTempus server from malicious or misbehaving scripts.

Once the script hosting process has been started, adTempus will send additional scripts that need to be run under the same user account to the same instance of the hosting process, so a single instance of the script hosting process may be running several scripts at the same time. Once the number of active scripts for a single host instance reaches a limit (about 10 scripts by default), adTempus will start another instance of the host process.

Scripts that run under different user accounts are never hosted by the same instance of the hosting process: they are always kept separate.

In some situations you may want to isolate a script from all other scripts. For example, supposed you have a script that loads an external component to perform processing, and this component has a bug that sometimes causes access violation errors. If such an error occurs, it can cause the script host process to "crash," so any other scripts being run by the host process at the same time will also be interrupted.

To avoid this problem you can use the Run isolated from other scripts option in the Script Properties window. When this option is checked, adTempus will always start a new instance of the script hosting process to run this script, and will not send any other scripts to the same host. This keeps the script fully isolated from other scripts.