This document is a work-in-progress and applies to this development release. The latest drafts of docs can be found in the Development Documentation directory. You are strongly encouraged to file bugs for both the development documentation and software on our Bugzilla page. We appreciate your participation.
GT 3.9.5 WS GRAM: Managed Job Factory Service - Job Description Language
Table of Contents
- Schema Document Properties
-
Global Declarations
- Element: argument
- Element: count
- Element: directory
- Element: environment
- Element: executable
- Element: extensions
- Element: factoryEndpoint
- Element: fileCleanUp
- Element: fileStageIn
- Element: fileStageOut
- Element: hostCount
- Element: job
- Element: jobCredentialEndpoint
- Element: jobType
- Element: libraryPath
- Element: maxCpuTime
- Element: maxMemory
- Element: maxTime
- Element: maxWallTime
- Element: minMemory
- Element: multiJob
- Element: project
- Element: queue
- Element: stagingCredentialEndpoint
- Element: stderr
- Element: stdin
- Element: stdout
- Global Definitions
Schema Document Properties
| Target Namespace | http://www.globus.org/namespaces/2004/10/gram/job/description |
|---|---|
| Language | en |
| Element and Attribute Namespaces |
|
| Schema Composition |
|
| Documentation |
RSL VariablesThe RSL Language includes support for system-specific variable substitutions. These variables allow one to write an RSL without specific knowledge of the execution host's local account or directory configuration. RSL Variable SyntaxRSL variable references occur within the contents of an xsd:string type RSL element. The syntax for an RSL variable reference is
DOLLAR-SIGN LEFT-BRACE variable-name RIGHT-BRACE
As an example:
<rsl:executable>myJob</rsl:executable>
<rsl:stdout>stdout.${GLOBUS_USER_NAME}</rsl:stdout>
Which would get resolved (supposing the executable is being
run under the "user0001" account) to the job description:
<rsl:executable>myJob</rsl:executable>
<rsl:stdout>stdout.user0001</rsl:stdout>
RSL Attributes Which May Contain Variable ReferencesRSL Variable substitutions may not occur in all RSL Job Attributes. Their use is restricted to those which contain arbitrary string data and which may be used to access the local resource associated with a job. The list of attributes which may contain RSL Variables is:
RSL Variable Descriptions
Differences From Pre-WS GRAM and GT3 WS GRAMIn both Pre-WS GRAM and GT3 WS GRAM, applications could define arbitrary RSL substitutions within an RSL document and rely on the GRAM service to resolve them. In GT4 WS GRAM, this feature is no longer present. Only those RSL variables described in this document may be referenced in an RSL job description. In both Pre-WS GRAM and GT3 WS GRAM, RSL substitutions could be used in arbitrary Job Description attributes. In an effort to more strongly type RSL Job Description documents in GT4 WS GRAM, RSL substitutions are now restricted to be used only in certain attribute contexts. GT3 WS GRAM defines RSL Substitutions as separate XML elements within an RSL Job Description document. With GT4 WS GRAM, RSL variable references are included with a special syntax within certain RSL job description elements. |
Declared Namespaces |
|
| Prefix | Namespace |
| xml | http://www.w3.org/XML/1998/namespace |
| rft | http://www.globus.org/namespaces/2004/10/rft |
| wsa | http://schemas.xmlsoap.org/ws/2004/03/addressing |
| xsd | http://www.w3.org/2001/XMLSchema |
| types | http://www.globus.org/namespaces/2004/10/gram/job/types |
| tns | http://www.globus.org/namespaces/2004/10/gram/job/description |
| Schema Component Representation | |
| <xsd:schema xml:lang="en" targetNamespace="http://www.globus.org/namespaces/2004/10/gram/job/description" elementFormDefault="qualified">
<xsd:import namespace="http://www.globus.org/namespaces/2004/10/gram/job/types" schemaLocation="managed_job_types.xsd"/>
<xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/03/addressing" schemaLocation="../ws/addressing/WS-Addressing.xsd"/>
<xsd:import namespace="http://www.globus.org/namespaces/2004/10/rft" schemaLocation="../transfer/reliable/reliable_transfer_types.xsd"/>
...
</xsd:schema> |
|
Global Declarations
Element: argument
| Name | argument |
|---|---|
| Type | xsd:string |
| Nillable | no |
| Abstract | no |
| Documentation | A command line argument for the executable. Each argument is a separate element within the job description. Spaces and quotes within an argument will preserved literally. |
| XML Instance Representation | |
| Schema Component Representation | |
Element: count
| Name | count |
|---|---|
| Type | xsd:positiveInteger |
| Nillable | no |
| Abstract | no |
| Default Value | 1 |
| Documentation | The number of executions of the executable. Default: 1 (if the element is empty or missing) |
| XML Instance Representation | |
| Schema Component Representation | |
Element: directory
| Name | directory |
|---|---|
| Type | xsd:string |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies the path of the directory the jobmanager will use as the default directory for the requested job. |
| XML Instance Representation | |
| <tns:directory> xsd:string </tns:directory> | |
| Schema Component Representation | |
Element: environment
| Name | environment |
|---|---|
| Type | tns:NameValuePairType |
| Nillable | no |
| Abstract | no |
| Documentation | The environment variables that will be defined for the executable in addition to default set that is given to the job by the jobmanager. |
| XML Instance Representation | |
| <tns:environment> </tns:environment> |
|
| Schema Component Representation | |
Element: executable
| Name | executable |
|---|---|
| Type | xsd:string |
| Nillable | no |
| Abstract | no |
| Documentation | The name of the executable file to run on the remote machine. |
| XML Instance Representation | |
| <tns:executable> xsd:string </tns:executable> | |
| Schema Component Representation | |
Element: extensions
| Name | extensions |
|---|---|
| Type | tns:ExtensionsType |
| Nillable | no |
| Abstract | no |
| Documentation | This section is currently used only to specify client-specific data which the client wishes to associate with the job it is controlling. |
| XML Instance Representation | |
| <tns:extensions> Allow
any elements from a namespace other than this schema's namespace
(lax validation). [0..*]
</tns:extensions> |
|
| Schema Component Representation | |
| <xsd:element name="extensions" type="tns:ExtensionsType"/> | |
Element: factoryEndpoint
| Name | factoryEndpoint |
|---|---|
| Type | wsa:EndpointReferenceType |
| Nillable | no |
| Abstract | no |
| Documentation | The Managed Job Factory service endpoint to submit this job description to. |
| XML Instance Representation | |
| <tns:factoryEndpoint
Allow any attributes
from a namespace other than this schema's namespace (lax validation).
> Allow
any elements from a namespace other than this schema's namespace
(lax validation). [0..*]
</tns:factoryEndpoint> |
|
| Schema Component Representation | |
| <xsd:element name="factoryEndpoint" type="wsa:EndpointReferenceType"/> | |
Element: fileCleanUp
| Name | fileCleanUp |
|---|---|
| Type | rft:DeleteRequestType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies a list of files local to the job which indicate files to be removed via a GridFTP-compatible file server. |
| XML Instance Representation | |
| <tns:fileCleanUp> <!--
'tns:BaseRequestType'
super type was not found in this schema. Some elements and attributes
may be missing. -->
</tns:fileCleanUp> |
|
| Schema Component Representation | |
| <xsd:element name="fileCleanUp" type="rft:DeleteRequestType"/> | |
Element: fileStageIn
| Name | fileStageIn |
|---|---|
| Type | rft:TransferRequestType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies a list of ("remote URL" "local file") pairs which indicate files to be staged to the nodes which will run the job. |
| XML Instance Representation | |
| <tns:fileStageIn> <!--
'tns:BaseRequestType'
super type was not found in this schema. Some elements and attributes
may be missing. -->
</tns:fileStageIn> |
|
| Schema Component Representation | |
| <xsd:element name="fileStageIn" type="rft:TransferRequestType"/> | |
Element: fileStageOut
| Name | fileStageOut |
|---|---|
| Type | rft:TransferRequestType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies a list of ("local file" "remote URL") pairs which indicate files to be staged from the job to a GridFTP-compatible file server. |
| XML Instance Representation | |
| <tns:fileStageOut> <!--
'tns:BaseRequestType'
super type was not found in this schema. Some elements and attributes
may be missing. -->
</tns:fileStageOut> |
|
| Schema Component Representation | |
| <xsd:element name="fileStageOut" type="rft:TransferRequestType"/> | |
Element: hostCount
| Name | hostCount |
|---|---|
| Type | xsd:positiveInteger |
| Nillable | no |
| Abstract | no |
| Documentation | Only applies to clusters of SMP computers, such as linux cluster. Defines the number of nodes pizza boxes") to distribute the "count" processes across. |
| XML Instance Representation | |
| <tns:hostCount> xsd:positiveInteger </tns:hostCount> | |
| Schema Component Representation | |
| <xsd:element name="hostCount" type="xsd:positiveInteger"/> | |
Element: job
| Name | job |
|---|---|
| Type | tns:JobDescriptionType |
| Nillable | no |
| Abstract | no |
| XML Instance Representation | |
| <tns:job> </tns:job> |
|
| Schema Component Representation | |
| <xsd:element name="job" type="tns:JobDescriptionType"/> | |
Element: jobCredentialEndpoint
| Name | jobCredentialEndpoint |
|---|---|
| Type | wsa:EndpointReferenceType |
| Nillable | no |
| Abstract | no |
| Documentation | An EPR which points to the delegated credential resource. |
| XML Instance Representation | |
| <tns:jobCredentialEndpoint
Allow any attributes
from a namespace other than this schema's namespace (lax validation).
> Allow
any elements from a namespace other than this schema's namespace
(lax validation). [0..*]
</tns:jobCredentialEndpoint> |
|
| Schema Component Representation | |
| <xsd:element name="jobCredentialEndpoint" type="wsa:EndpointReferenceType"/> | |
Element: jobType
| Name | jobType |
|---|---|
| Type | tns:JobTypeEnumeration |
| Nillable | no |
| Abstract | no |
| Documentation | This specifies how the jobmanager should start the job. |
| XML Instance Representation | |
| <tns:jobType> tns:JobTypeEnumeration </tns:jobType> | |
| Schema Component Representation | |
| <xsd:element name="jobType" type="tns:JobTypeEnumeration"/> | |
Element: libraryPath
| Name | libraryPath |
|---|---|
| Type | xsd:string |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies a list of paths to be appended to the system-specific library path environment variables. |
| XML Instance Representation | |
| <tns:libraryPath> xsd:string </tns:libraryPath> | |
| Schema Component Representation | |
| <xsd:element name="libraryPath" type="xsd:string"/> | |
Element: maxCpuTime
| Name | maxCpuTime |
|---|---|
| Type | xsd:long |
| Nillable | no |
| Abstract | no |
| Documentation | Explicitly set the maximum cputime for a single execution of the executable. The units is in minutes. The value will go through an atoi() conversion in order to get an integer. If the GRAM scheduler cannot set cputime, then an error will be returned. |
| XML Instance Representation | |
| <tns:maxCpuTime> xsd:long </tns:maxCpuTime> | |
| Schema Component Representation | |
| <xsd:element name="maxCpuTime" type="xsd:long"/> | |
Element: maxMemory
| Name | maxMemory |
|---|---|
| Type | xsd:nonNegativeInteger |
| Nillable | no |
| Abstract | no |
| Documentation | Explicitly set the maximum amount of memory for a single execution of the executable. The units is in Megabytes. The value will go through an atoi() conversion in order to get an integer. If the GRAM scheduler cannot set maxMemory, then an error will be returned. |
| XML Instance Representation | |
| <tns:maxMemory> xsd:nonNegativeInteger </tns:maxMemory> | |
| Schema Component Representation | |
| <xsd:element name="maxMemory" type="xsd:nonNegativeInteger"/> | |
Element: maxTime
| Name | maxTime |
|---|---|
| Type | xsd:long |
| Nillable | no |
| Abstract | no |
| Documentation | The maximum walltime or cputime for a single execution of the executable. Walltime or cputime is selected by the GRAM scheduler being interfaced. The units is in minutes. The value will go through an atoi() conversion in order to get an integer. |
| XML Instance Representation | |
| <tns:maxTime> xsd:long </tns:maxTime> | |
| Schema Component Representation | |
| <xsd:element name="maxTime" type="xsd:long"/> | |
Element: maxWallTime
| Name | maxWallTime |
|---|---|
| Type | xsd:long |
| Nillable | no |
| Abstract | no |
| Documentation | Explicitly set the maximum walltime for a single execution of the executable. The units is in minutes. The value will go through an atoi() conversion in order to get an integer. If the GRAM scheduler cannot set walltime, then an error will be returned. |
| XML Instance Representation | |
| <tns:maxWallTime> xsd:long </tns:maxWallTime> | |
| Schema Component Representation | |
| <xsd:element name="maxWallTime" type="xsd:long"/> | |
Element: minMemory
| Name | minMemory |
|---|---|
| Type | xsd:nonNegativeInteger |
| Nillable | no |
| Abstract | no |
| Documentation | Explicitly set the minimum amount of memory for a single execution of the executable. The units is in Megabytes. The value will go through an atoi() conversion in order to get an integer. If the GRAM scheduler cannot set minMemory, then an error will be returned. |
| XML Instance Representation | |
| <tns:minMemory> xsd:nonNegativeInteger </tns:minMemory> | |
| Schema Component Representation | |
| <xsd:element name="minMemory" type="xsd:nonNegativeInteger"/> | |
Element: multiJob
| Name | multiJob |
|---|---|
| Type | tns:MultiJobDescriptionType |
| Nillable | no |
| Abstract | no |
| XML Instance Representation | |
| <tns:multiJob> </tns:multiJob> |
|
| Schema Component Representation | |
| <xsd:element name="multiJob" type="tns:MultiJobDescriptionType"/> | |
Element: project
| Name | project |
|---|---|
| Type | xsd:string |
| Nillable | no |
| Abstract | no |
| Documentation | Target the job to be allocated to a project account as defined by the scheduler at the defined (remote) resource. |
| XML Instance Representation | |
| <tns:project> xsd:string </tns:project> | |
| Schema Component Representation | |
| <xsd:element name="project" type="xsd:string"/> | |
Element: queue
| Name | queue |
|---|---|
| Type | xsd:string |
| Nillable | no |
| Abstract | no |
| Documentation | Target the job to a queue (class) name as defined by the scheduler at the defined (remote) resource. |
| XML Instance Representation | |
| <tns:queue> xsd:string </tns:queue> | |
| Schema Component Representation | |
| <xsd:element name="queue" type="xsd:string"/> | |
Element: stagingCredentialEndpoint
| Name | stagingCredentialEndpoint |
|---|---|
| Type | wsa:EndpointReferenceType |
| Nillable | no |
| Abstract | no |
| Documentation | An EPR which points to the delegated credential resource used to make remote calls to RFT. |
| XML Instance Representation | |
| <tns:stagingCredentialEndpoint
Allow any attributes
from a namespace other than this schema's namespace (lax validation).
> Allow
any elements from a namespace other than this schema's namespace
(lax validation). [0..*]
</tns:stagingCredentialEndpoint> |
|
| Schema Component Representation | |
| <xsd:element name="stagingCredentialEndpoint" type="wsa:EndpointReferenceType"/> | |
Element: stderr
| Name | stderr |
|---|---|
| Type | xsd:string |
| Nillable | no |
| Abstract | no |
| Documentation | The name of the remote file to store the standard error from the job. The standard error from the job is staged after the execution to the paths or URLs specified as the values. Values which are local paths will be staged relative to the users home directory. Values which are absolute paths will be staged simply as if 'file://' were prepended to the path. |
| XML Instance Representation | |
| <tns:stderr> xsd:string </tns:stderr> | |
| Schema Component Representation | |
| <xsd:element name="stderr" type="xsd:string"/> | |
Element: stdin
| Name | stdin |
|---|---|
| Type | xsd:string |
| Nillable | no |
| Abstract | no |
| Documentation | The name of the file to be used as standard input for the executable on the remote machine. |
| XML Instance Representation | |
| <tns:stdin> xsd:string </tns:stdin> | |
| Sch | |
