Introduction
- Environment variables are a means of parameterizing jobs.
- A number of environment variables are available to shell jobs by default.
- Additional environment variables can be added per job configuration from JS7 - Order Variables, from node arguments and from JS7 - Job Resources.
Environment Variables that are automatically available to Shell Jobs
The following environment variables are available to all shell jobs. They are provided from the Agent Instance Script and from the Agent binary files.
Depending on the OS, environment variables are syntactically used like this:
- Windows:
%JS_AGENT_HOME%
- Unix:
$JS_AGENT_HOME
or${JS_AGENT_HOME}
Category | Environment Variable | Description | Adjustable by Script | Default Value |
---|---|---|---|---|
Agent | JS7_AGENT_PORT | The number of the port that an Agent is listening to for messages sent from a Controller. | Agent Instance Script | 4445 |
JS7_AGENT_HTTP_PORT | Same as JS7_AGENT_PORT except that a network interface can be specified, e.g. localhost:4445 to limit access to the given network interface. | Agent Instance Script | 4445 | |
JS7_AGENT_HTTPS_PORT | The SSL port used in addition to the HTTP port. A network interface can be specified, e.g. myhost:4447 to limit access to the given network interface. | Agent Instance Script | n/a | |
JS7_AGENT_USER | The account that the Agent is operated for. For Unix OS the account can be specified from the Agent Instance Script. For Windows OS the service account assigned to the Agent with the Windows Service Panel is provided. | Unix: Agent Instance Script Windows: Service Account | n/a | |
| The Agent's home directory, i.e. the directory to which the Agent has been installed. For Windows OS this could be e.g. For Unix OS environments this could be e.g. | Agent Instance Script | n/a | |
JS7_AGENT_DATA | The Agent's data directory with sub-directories for temporary data, configuration data etc. The name of the data directory is created from the prefix For Windows OS this could be e.g. For Unix OS environments this could be e.g. The Agent's home directory | Agent Instance Script | JS7_AGENT_HOME/var_<JS7_AGENT_PORT> | |
JS7_AGENT_CONFIG_DIR | The Agent's configuration directory. | Agent Instance Script | JS7_AGENT_DATA/config | |
JS7_AGENT_LOGS | The Agent's directory for log files. | Agent Instance Script | JS7_AGENT_DATA/logs | |
JS7_AGENT_PID_FILE | The Agent's creates the agent.pid file in the logs directory that contains the process ID of the current Agent run. | Agent Instance Script | JS7_AGENT_DATA/logs/agent.pid | |
JS7_AGENT_WORK_DIR | The Agent's working directory. | Agent Instance Script | JS7_AGENT_DATA | |
JS7_AGENT_KILL_SCRIPT | The script used by the Agent to kill job processes. Users can implement their own version of this script if required for a specific OS. | Agent Instance Script | JS7_AGENT_DATA/tmp/kill_task.sh | |
JS7_AGENT_TZ | The time zone of the Agents' computer | Agent Start Script | Etc/UTC | |
Run-time | JS7_RETURN_VALUES | The location of a temporary file created by the Agent for the current shell job that can be used to append pairs of names and values with each pair being added on a separate line. After execution of the shell job the Agent will add order variables with the respective names and values found from this file. | n/a | |
JAVA_HOME | The location of the Java installation directory as used by the Agent. | Agent Instance Script | JAVA_HOME | |
JAVA_OPTIONS | Java options for the Agent loading its JVM are different from Java options used for jobs that run individual Java programs. Therefore the Agent Start Script allows the JS7_AGENT_JOB_JAVA_OPTIONS environment variable to be set e.g. to limit a job's memory consumption with the option -Xmx32m . Therefore this environment variable is populated from the Java job options environment variable. | Agent Instance Script | JS7_AGENT_JOB_JAVA_OPTIONS | |
File Transfer | JS7_YADE_HOME | The home directory of the YADE installation. By default the Agent ships with YADE included in the yade sub-directory of the Agent's home directory. | n/a | JS7_AGENT_HOME/yade |
JS7_YADE_BIN | The path to the YADE start script. Usually this is located in the bin sub-directory of the directory specified by JS7_YADE_HOME . | n/a | Unix: Windows: | |
JS7_YADE_DMZ_BIN | The location of the start script used to run YADE in a DMZ. By default the directory is the same as JS7_YADE_HOME/bin and the file name is yade4dmz.sh . | n/a | Unix: Windows: | |
JS7_YADE_CONFIG_DIR | The location of the configuration directory that holds YADE file transfer configuration files (*.xml, *.ini). By default the Agent's configuration directory is used. | Agent Instance Script | JS7_AGENT_CONFIG_DIR |
Environment Variables suggested from Job Resources for Shell Jobs
The following environment variables are not available by default.
- They are provided from the default Job Resource that ships with JS7 and that can be assigned any workflows and shell jobs.
- Download: DefaultJobResource.zip
- They can be provided from individual JS7 - Job Resources.
Users are free to define their own job resources to publish individual environment variables to workflows and jobs.
Category | Environment Variable | Description | Adjustable by Script | Default Value |
---|---|---|---|---|
Controller | JS7_CONTROLLER_ID | Identification of a Controller as specified during initial operation. | n/a | n/a |
Inventory | JS7_JOB_NAME | The name of the job as specified with the workflow configuration. | n/a | |
JS7_ORDER_ID | The order identification as returned when creating an order. | n/a | ||
JS7_WORKFLOW_NAME | The name of the workflow. | n/a | ||
JS7_WORKFLOW_LABEL | The label assigned the workflow instruction for the job. Consider that the same job can be used a number of times in a workflow and that its assignment to an instruction is additionally specified by a label. | n/a | ||
JS7_WORKFLOW_POSITION | The indicator for the position of the order in the current workflow. | n/a | ||
Scheduled Date | JS7_SCHEDULED_DATE | The date for which an order originally was scheduled. The date format includes yyyy, MM, dd, hh, mm, ss and the time zone offset, e.g. 2020-12-03 09:13:59+0100 | n/a | Scheduled Date |
JS7_SCHEDULED_YEAR | The year of the scheduled date padded by 2 digits, e.g. 2020, 2021, 2022 etc. | n/a | Year of Scheduled Date | |
JS7_SCHEDULED_MONTH | The month of the scheduled date padded by 2 digits, e.g. 01, ..., 12 | n/a | Month of Scheduled Date | |
JS7_SCHEDULED_DAY | The day of the scheduled date padded by 2 digits, e.g. 01, ..., 31 | n/a | Day of Scheduled Date | |
JS7_SCHEDULED_HOUR | The hour of the scheduled date padded by 2 digits, e.g. 00, ..., 24 | n/a | Hour of Scheduled Date | |
JS7_SCHEDULED_MINUTE | The minute of the scheduled date padded by 2 digits, e.g. 01, ..., 59 | n/a | Minute of Scheduled Date | |
JS7_SCHEDULED_SECOND | The second of the scheduled date padded by 2 digits, e.g. 01, ..., 59 | n/a | Second of Scheduled Date | |
Job Start Date | JS7_JOBSTART_DATE | The date at which the job was started. The date format includes yyyy, MM, dd, hh, mm, ss and the time zone offset, e.g. 2020-12-03 09:13:59+0100 | n/a | Start Date of the task for a shell job or Start Date of the processing of an order by a JVM job |
JS7_JOBSTART_YEAR | The year of the job start date padded by 2 digits, e.g. 2020, 2021, 2022 etc. | n/a | Year of Job Start Date | |
JS7_JOBSTART_MONTH | The month of the job start date padded by 2 digits, e.g. 01, ..., 12 | n/a | Month of Job Start Date | |
JS7_JOBSTART_DAY | The day of the job start date padded by 2 digits, e.g. 01, ..., 31 | n/a | Day of Job Start Date | |
JS7_JOBSTART_HOUR | The hour of the job start date padded by 2 digits, e.g. 00, ..., 24 | n/a | Hour of Job Start Date | |
JS7_JOBSTART_MINUTE | The minute of the job start date padded by 2 digits, e.g. 01, ..., 59 | n/a | Minute of Job Start Date | |
JS7_JOBSTART_SECOND | The second of the job start date padded by 2 digits, e.g. 01, ..., 59 | n/a | Second of Job Start Date | |
JS7_JOBSTART_EPOCHMILLIS | The number of milliseconds since January 1st 1970 UTC until the job start date | n/a | Epoch milliseconds for Job Start Date |
Environment Variables available per Job Configuration
- The job configuration offers to specify environment variables that are forwarded to the job script.
- The values of environment variables can be specified from:
- constant string values
- order variables
- node arguments
Explanation:
- Users are free to choose the names of environment variables. Such names are automatically converted to uppercase letters.
- Environment variables can be assigned values from order variables and from node arguments. Such variables are preceded by a
$
and consider the spelling of the respective variable or argument. - Caveat: Any existing environment variables with the same name will be overwritten from the job configuration. You can e.g. specify a
PATH
environment variable if the intention is to modify this OS environment variable for use with a specific job.