-
See Also
- RemoteBatchSubmissionEnvironment
- RemoteBatchJobObject
- RemoteBatchMapSubmit
- RemoteBatchJobs
- $DefaultRemoteBatchSubmissionEnvironment
- RemoteBatchJobAbort
- CreditConstraint
- ForwardCloudCredentials
- IncludeDefinitions
- LicensingSettings
- RemoteInputFiles
- RemoteJobName
- RemoteJobNotifications
- RemoteProviderSettings
- TimeConstraint
- RemoteGeoZone
-
- Remote Batch Computation Providers
- WolframBatch
- AWSBatch
- AzureBatch
- CharityEngine
- Related Guides
- Workflows
- Tech Notes
-
-
See Also
- RemoteBatchSubmissionEnvironment
- RemoteBatchJobObject
- RemoteBatchMapSubmit
- RemoteBatchJobs
- $DefaultRemoteBatchSubmissionEnvironment
- RemoteBatchJobAbort
- CreditConstraint
- ForwardCloudCredentials
- IncludeDefinitions
- LicensingSettings
- RemoteInputFiles
- RemoteJobName
- RemoteJobNotifications
- RemoteProviderSettings
- TimeConstraint
- RemoteGeoZone
-
- Remote Batch Computation Providers
- WolframBatch
- AWSBatch
- AzureBatch
- CharityEngine
- Related Guides
- Workflows
- Tech Notes
-
See Also
RemoteBatchSubmit[expr]
submits expr for evaluation using $DefaultRemoteBatchSubmissionEnvironment.
RemoteBatchSubmit[env,expr]
submits expr for evaluation using the remote batch submission environment env.
RemoteBatchSubmit
Listing of Batch Computation Providers »RemoteBatchSubmit[expr]
submits expr for evaluation using $DefaultRemoteBatchSubmissionEnvironment.
RemoteBatchSubmit[env,expr]
submits expr for evaluation using the remote batch submission environment env.
Details and Options
- RemoteBatchSubmit is used to submit batch jobs for asynchronous evaluation on batch computation providers.
- The currently supported batch computation providers are "WolframBatch", "AWSBatch", "AzureBatch" and "CharityEngine".
- RemoteBatchSubmit[expr] submits a job using $DefaultRemoteBatchSubmissionEnvironment, which defaults to the "WolframBatch" provider environment.
- RemoteBatchSubmit returns a RemoteBatchJobObject representing the resulting batch job on the batch computation provider.
- The environment env can be a RemoteBatchSubmissionEnvironment expression or "WolframBatch".
- If the batch computation provider being used has no required environment settings, then env may also be the name of the provider as a string, such as in RemoteBatchSubmit["WolframBatch",expr], which is equivalent to RemoteBatchSubmit[RemoteBatchSubmissionEnvironment["WolframBatch"],expr].
- The RemoteBatchJobObject returned by RemoteBatchSubmit will have "Single" as the value of its "JobType" property.
- The following options are supported by RemoteBatchSubmit:
-
CreditConstraint Automatic maximum number of Service Credits the job should use ForwardCloudCredentials Automatic whether to copy the local session's Wolfram Cloud credentials into the remote session IncludeDefinitions True whether to automatically include dependencies of the expression LicensingSettings Automatic licensing settings to use RemoteGeoZone Automatic a geographical zone to run the job in with the "WolframBatch" provider RemoteInputFiles <||> association of local files to be uploaded to the provider RemoteJobName Automatic a name for the remote batch job RemoteJobNotifications Automatic notification events to generate RemoteMachineClass "Basic1x8" a machine class to use with the "WolframBatch" provider RemoteProviderSettings <||> association of provider-specific settings for the job TimeConstraint Automatic a timeout for the job to be supplied to the provider - The default value Automatic of the ForwardCloudCredentials option corresponds to True if the provider being used supports forwarding of cloud credentials, or False if the provider does not.
- For providers other than the "WolframBatch" provider, the default value Automatic of the LicensingSettings option creates a new on-demand license entitlement with kernel count and expiration limits based on the job's configuration.
- When running jobs using the default on-demand licensing configuration, Wolfram Engine license usage is charged against your Wolfram Service Credits balance on a pay-as-you-go basis. On-demand licensing is not used by the "WolframBatch" provider.
- The default value for RemoteGeoZone depends on your Wolfram Account settings and defaults to "UnitedStates".
- Supported RemoteProviderSettings keys are listed on each remote submission provider's documentation page.
- When using the "WolframBatch" provider, RemoteMachineClass class is equivalent to setting RemoteProviderSettings <|"RemoteMachineClass" class|>. Possible values of class are listed on the "WolframBatch" documentation page.
- Supported RemoteJobNotifications events and actions are listed on each remote submission provider's documentation page.
- The value of the TimeConstraint option can be an integer number of seconds or a "TimeUnit" quantity. The default value Automatic indicates to use the default timeout defined by the provider.
- The value of the CreditConstraint option can be an integer number of Wolfram Service Credits or a "Credits" quantity. In the case of the "WolframBatch" provider, the default value Automatic indicates to use unlimited credits.
Examples
open all close allBasic Examples (3)
Submit a batch job to the default "WolframBatch" provider:
job = RemoteBatchSubmit[FactorInteger[RandomInteger[2 ^ 130, 18000]]]job["JobStatus"]Eventually the status will indicate that the job has finished running:
job["JobStatus"]Retrieve the result of the job and display the first result:
job["EvaluationResult"]//FirstSubmit a batch job including a local input file, uploaded under the name "photo.jpg":
job = RemoteBatchSubmit[
ColorNegate@Import["photo.jpg"],
RemoteInputFiles -> <|"photo.jpg" -> FindFile["ExampleData/photo.jpg"]|>
]job["EvaluationResult"]Submit a batch job to the "AWSBatch" batch computation provider:
job = RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
2 + 2
]Retrieve the result of the job:
job["EvaluationResult"]Scope (1)
Options (15)
CreditConstraint (1)
ForwardCloudCredentials (1)
Submit a job using the "AWSBatch" provider, for which the default setting of the ForwardCloudCredentials option is True:
job1 = RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
$WolframID
]{$WolframID, job1["EvaluationResult"]}Override the default and disable credential forwarding:
job2 = RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
$WolframID,
ForwardCloudCredentials -> False
]{$WolframID, job2["EvaluationResult"]}IncludeDefinitions (1)
By default, definitions of symbols lexically relevant for the evaluation of the job expression are copied into the remote session:
n = 1988;
f[x_] := x^2
job1 = RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
f[n]
]job1["EvaluationData"]Disable the automatic inclusion of definitions:
job2 = RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
f[n],
IncludeDefinitions -> False
]job2["EvaluationData"]LicensingSettings (1)
Activate the kernel in a remote batch job using an automatically created on-demand license entitlement with custom settings:
RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
2 + 2,
LicensingSettings -> <|Method -> "OnDemand", "Entitlement" -> <|
"ParallelKernelLimit" -> 4,
"EntitlementExpiration" -> Quantity[6, "Hours"]
|>|>
]RemoteGeoZone (1)
Run a Wolfram Compute Services batch job in the United States:
RemoteBatchSubmit["WolframBatch", FactorInteger[2 ^ 1023 - 7], RemoteGeoZone -> "UnitedStates"]Run a Wolfram Compute Services batch job in the European Union:
RemoteBatchSubmit["WolframBatch", FactorInteger[2 ^ 1023 - 7], RemoteGeoZone -> "EuropeanUnion"]RemoteInputFiles (1)
Submit a batch job using a local file and a byte array as input files:
inputFiles = <|
"image.jpg" -> FindFile["ExampleData/turtle.jpg"],
"kernel.wxf" -> ExportByteArray[(| | | |
| -- | - | - |
| -1 | 0 | 1 |
| -2 | 0 | 2 |
| -1 | 0 | 1 |), "WXF"]
|>job = RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
{
ImageConvolve[Import["image.jpg"], Import["kernel.wxf"]],
FileNames[]
},
RemoteInputFiles -> inputFiles
]job["EvaluationResult"][[1]]The two input files were automatically downloaded into the remote session's working directory (along with the system-generated file containing the job code):
job["EvaluationResult"][[2]]RemoteJobName (2)
Submit a batch job and specify a descriptive job name:
job = RemoteBatchSubmit[GeoListPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}], Entity["City", {"Boston", "Massachusetts", "UnitedStates"}]}], RemoteJobName -> "Plot multiple cities"]job["JobName"]If no job name is specified, it is automatically generated:
job = RemoteBatchSubmit[GeoListPlot[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}], Entity["City", {"Boston", "Massachusetts", "UnitedStates"}]}]]job["JobName"]RemoteJobNotifications (4)
Receive SMS text notifications when the status of a Wolfram Compute Services job changes:
RemoteBatchSubmit["WolframBatch", FactorInteger[2 ^ 1023 - 7],
RemoteJobNotifications -> {"JobStatusChanged" -> "SMS"}
]Receive text notifications when the job starts and completes, and emails every 2 hours while it runs:
RemoteBatchSubmit["WolframBatch", FactorInteger[2 ^ 1023 - 7],
RemoteJobNotifications -> {{"JobStarted", "JobCompleted"} -> "SMS", {"HoursElapsed", 2} -> "Email"}
]Do not produce any notifications:
RemoteBatchSubmit["WolframBatch", $Version, RemoteJobNotifications -> None]Use a default set of notifications:
job = RemoteBatchSubmit["WolframBatch", $Version, RemoteJobNotifications -> Automatic]Verify the detailed specification used for the default notifications:
job["RemoteJobNotifications"]RemoteMachineClass (1)
RemoteProviderSettings (1)
Submit a job with settings for the "AWSBatch" provider specifying how many vCPUs (processor cores) to allocate to the job container:
job = RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
$ProcessorCount,
RemoteProviderSettings -> <|
"VCPUCount" -> 2
|>
]job["EvaluationResult"]TimeConstraint (1)
job = RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
Pause[120];2 + 2,
TimeConstraint -> Quantity[90, "Seconds"]
]job["JobStatus"]The "AWSBatch" provider supplies an additional "JobStatusReason" job property indicating the reason for the job's failure:
job["JobStatusReason"]Possible Issues (2)
Using the default on-demand licensing settings, RemoteBatchSubmit will refuse to submit a job if your Service Credits balance is insufficient to create a license entitlement based on the job processor count and TimeConstraint:
RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
f[x ^ 2],
RemoteProviderSettings -> <|"VCPUCount" -> 4|>,
TimeConstraint -> Quantity[5, "Hours"]
]Reduce the number of processor cores and/or the TimeConstraint:
RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
f[x ^ 2],
RemoteProviderSettings -> <|"VCPUCount" -> 2|>,
TimeConstraint -> Quantity[1.5, "Hours"]
]Alternatively, you may override the balance check by supplying the "CheckCreditsBalance"False entitlement setting to the LicensingSettings option:
job = RemoteBatchSubmit[
RemoteBatchSubmissionEnvironment[...],
ParallelEvaluate[Pause[18000]],
RemoteProviderSettings -> <|"VCPUCount" -> 4|>,
TimeConstraint -> Quantity[5, "Hours"],
LicensingSettings -> <|"Entitlement" -> <|"CheckCreditsBalance" -> False|>|>
]RemoteBatchSubmit includes all definitions for all symbols in the code you submit. In some cases this can lead to large job uploads, even when it is not desired:
list = Range[2 ^ 27];
RemoteBatchSubmit[list = {1, 2, 3};Length[list]]You can add the IncludeDefinitions option if you do not want any local symbol definitions to be included:
list = Range[2 ^ 27];
RemoteBatchSubmit[list = {1, 2, 3};Length[list], IncludeDefinitions -> False]See Also
RemoteBatchSubmissionEnvironment RemoteBatchJobObject RemoteBatchMapSubmit RemoteBatchJobs $DefaultRemoteBatchSubmissionEnvironment RemoteBatchJobAbort CreditConstraint ForwardCloudCredentials IncludeDefinitions LicensingSettings RemoteInputFiles RemoteJobName RemoteJobNotifications RemoteProviderSettings TimeConstraint RemoteGeoZone
Remote Batch Computation Providers: WolframBatch AWSBatch AzureBatch CharityEngine
Tech Notes
Related Guides
Related Workflows
Text
Wolfram Research (2020), RemoteBatchSubmit, Wolfram Language function, https://reference.wolfram.com/language/ref/RemoteBatchSubmit.html (updated 2025).
CMS
Wolfram Language. 2020. "RemoteBatchSubmit." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/RemoteBatchSubmit.html.
APA
Wolfram Language. (2020). RemoteBatchSubmit. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RemoteBatchSubmit.html
BibTeX
@misc{reference.wolfram_2026_remotebatchsubmit, author="Wolfram Research", title="{RemoteBatchSubmit}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/RemoteBatchSubmit.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_remotebatchsubmit, organization={Wolfram Research}, title={RemoteBatchSubmit}, year={2025}, url={https://reference.wolfram.com/language/ref/RemoteBatchSubmit.html}, note=[Accessed: 13-June-2026]}