Another way for information from the machine to enter the job environment is to publish the information in the machine ClassAd and leave it up to the user to insert it into the job's environment via the $$() mechanism, which substitutes in values from the target ClassAd. Example machine configuration:

Then the user can insert this information into the job environment by putting the following in the job submit file:

environment = "APP1_PATH=$$(APP1_PATH) APP2_PATH=$$(APP2_PATH)"

If it is expected that the job may run on machines where these attributes of the machine ClassAd are not defined, a default value should be specified like this. For example, if it should just be empty when undefined, use this:

APP1_PATH=$$(APP1_PATH:)

This work supported in part by NSF grants MCS-8105904, OCI-0437810, OCI-0850745, and/or ACI-1321762. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. Site built using CVSTrac.