RemoteBatchJobObject

RemoteBatchJobObject[]

represents a remote batch job submitted by RemoteBatchSubmit or RemoteBatchMapSubmit.

Details

  • RemoteBatchJobObject[][prop] returns a property of the job.
  • The available properties of a job can be queried with RemoteBatchJobObject[]["Properties"].
  • Properties of all jobs include:
  • "Environment"RemoteBatchSubmissionEnvironment with which the job was submitted
    "JobFailedQ"Boolean value indicating whether the job's execution failed
    "JobInProgressQ"Boolean value indicating whether the job has yet to reach a completed state
    "JobStatus"string describing the current status of the job
    "JobSucceededQ"Boolean value indicating whether the job's execution successfully completed
    "JobType"type of the job ("Single", "Array" or "ArrayChild")
    "JobUUID"unique string identifying the job within the Wolfram Language
    "Provider"name of the batch computation provider to which the job was submitted
  • Possible values of the "JobStatus" property vary between batch computation providers and are listed on each provider's reference page.
  • The "JobStatus" property of an array job will generally not indicate that an array job is complete until all of its child jobs have completed.
  • The "JobInProgressQ", "JobSucceededQ" and "JobFailedQ" properties will all return False if the job's status, given by the value of the "JobStatus" property, could not be retrieved.
  • Additional properties of "Single" jobs (those submitted by RemoteBatchSubmit) include:
  • "EvaluationAbsoluteTiming""AbsoluteTiming" key of the "EvaluationData" property
    "EvaluationData"information about the job expression's evaluation, from EvaluationData
    "EvaluationMessagesExpressions""MessagesExpressions" key of the "EvaluationData" property
    "EvaluationMessagesText""MessagesText" key of the "EvaluationData" property
    "EvaluationResult""Result" key of the "EvaluationData" property
    "EvaluationTiming""Timing" key of the "EvaluationData" property
    "JobInputFilenames"names of input files (keys from the RemoteInputFiles option)
  • Additional properties of "Array" jobs (those submitted by RemoteBatchMapSubmit) include:
  • "ChildJobCount"number of child jobs within the array job
    "ChildJobEvaluationAbsoluteTimings""AbsoluteTiming" key of each value in the "ChildJobEvaluationData" property
    "ChildJobEvaluationData"information about each child job's evaluation, from EvaluationData, with child jobs identified by their spans
    "ChildJobEvaluationMessagesExpressions""MessagesExpressions" key of each value in the "ChildJobEvaluationData" property
    "ChildJobEvaluationMessagesText""MessagesText" key of each value in the "ChildJobEvaluationData" property
    "ChildJobEvaluationResults""Result" key of each value in the "ChildJobEvaluationData" property
    "ChildJobEvaluationTimings""Timing" key of each value in the "ChildJobEvaluationData" property
    "ChildJobObjects"association with Span expressions as keys and RemoteJobObject expressions as values, with each child job in the array job identified by the span of values in the input list assigned to it
    "ChildJobStatusCounts"association listing the number of child jobs with each status
    "ChildJobStatuses"association of child job spans to each job's status
    "CompletionPercentage""Percent" quantity indicating the fraction of child jobs that have finished processing, regardless of whether they succeeded or failed
    "DynamicStatusVisualization"dynamic visualization of the number of child jobs currently in each status
    "EvaluationResults"regular (dense) array of evaluation results
    "JobEvaluationCount"number of individual evaluations within the array job
    "JobInputFilenames"names of input files (keys from the RemoteInputFiles option)
    "JobPackingVisualization"graphical visualization of the method by which evaluations are distributed across child jobs within the array job
    "SparseEvaluationResults"sparse array of evaluation results
    "SuccessPercentage""Percent" quantity indicating the fraction of child jobs that have successfully completed
  • Additional properties of "ArrayChild" jobs include:
  • "ChildJobIndex"position of the child job within its parent array job
    "ChildJobSpan"span of values in the parent job's input list that are assigned to the child job
    "EvaluationAbsoluteTiming""AbsoluteTiming" key of the "EvaluationData" property
    "EvaluationData"information about the child job's evaluation, from EvaluationData
    "EvaluationMessagesExpressions""MessagesExpressions" key of the "EvaluationData" property
    "EvaluationMessagesText""MessagesText" key of the "EvaluationData" property
    "EvaluationResult""Result" key of the "EvaluationData" property
    "EvaluationTiming""Timing" key of the "EvaluationData" property
  • Individual batch computation providers may support additional properties beyond those listed above. A list of provider-specific job properties is included on each provider's reference page.
  • The "JobUUID" property of an array child job is equal to the "JobUUID" property of the job's parent array job.
  • Information of a RemoteBatchJobObject expression contains all static properties of the job.

Examples

open allclose all

Basic Examples  (1)

Submit a remote batch job using RemoteBatchSubmit:

Check the job's status:

Check the job's status again, after it has completed:

Download the job's result:

Access a specific element of the job's evaluation data:

Scope  (3)

Single Jobs  (1)

Submit a remote batch job using RemoteBatchSubmit:

Query the job's batch computation provider and job type:

List the names of the job's input files:

Query the job's status:

Download the job's evaluation data:

Extract just the result of the evaluation:

List all available properties of the job:

Array Jobs  (1)

Submit an array batch job using RemoteBatchMapSubmit:

Query the job's remote submission provider and job type:

Query the number of individual evaluations and child jobs within the array job:

Visualize how the elements in the input list have been distributed across multiple child jobs:

List the child jobs within the array job, along with the span of values in the input list assigned to each:

View an automatically updating visualization of the state of each child job:

While the array job is running, obtain a sparse array containing only the elements from child jobs that have completed:

After the array job is fully complete, obtain its results as a dense array:

Download the evaluation data from each child job:

List all available properties of the array job:

Array Child Jobs  (1)

Submit an array batch job using RemoteBatchMapSubmit:

Get the second child job within the array job:

Query the child job's index and the span of elements assigned to it:

Query the child job's current status:

Download the child job's evaluation data:

Extract just the result of the evaluation:

List all available properties of the child job:

Properties & Relations  (1)

Access a job's static properties using Information:

Possible Issues  (2)

Accessing a job's result expression using the "EvaluationResult" property (or "ChildJobEvaluationResults" for array jobs) will cause the result to be evaluated:

Use the "EvaluationData" property (or "ChildJobEvaluationData" for array jobs) to obtain an association where the value of the result is maintained in an unevaluated form using RuleDelayed:

If at least one evaluation of an array job's function returns a list, the "SparseEvaluationResults" property of the array job object will return a dense array, not a sparse array:

This happens because sparse arrays cannot contain lists as elements:

To maintain the sparse array representation, return an expression with a list other that List, such as Association:

Wolfram Research (2020), RemoteBatchJobObject, Wolfram Language function, https://reference.wolfram.com/language/ref/RemoteBatchJobObject.html.

Text

Wolfram Research (2020), RemoteBatchJobObject, Wolfram Language function, https://reference.wolfram.com/language/ref/RemoteBatchJobObject.html.

BibTeX

@misc{reference.wolfram_2021_remotebatchjobobject, author="Wolfram Research", title="{RemoteBatchJobObject}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/RemoteBatchJobObject.html}", note=[Accessed: 18-October-2021 ]}

BibLaTeX

@online{reference.wolfram_2021_remotebatchjobobject, organization={Wolfram Research}, title={RemoteBatchJobObject}, year={2020}, url={https://reference.wolfram.com/language/ref/RemoteBatchJobObject.html}, note=[Accessed: 18-October-2021 ]}

CMS

Wolfram Language. 2020. "RemoteBatchJobObject." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RemoteBatchJobObject.html.

APA

Wolfram Language. (2020). RemoteBatchJobObject. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RemoteBatchJobObject.html