public void Submit(JobRequest jobRequest) { var driverFolder = PrepareDriverFolder(jobRequest); var submissionJobArgsFilePath = CreateBootstrapAvroJobConfig(jobRequest.JobParameters, driverFolder); var submissionAppArgsFilePath = CreateBootstrapAvroAppConfig(jobRequest.AppParameters, driverFolder); _javaClientLauncher.LaunchAsync(jobRequest.JavaLogLevel, JavaClassName, submissionJobArgsFilePath, submissionAppArgsFilePath) .GetAwaiter().GetResult(); Logger.Log(Level.Info, "Submitted the Driver for execution."); }
private async Task <JobResource> UploadResourceAndGetInfoAsync(string filePath, ResourceType resourceType, string driverUploadPath, string localizedName = null) { if (!_file.Exists(filePath)) { Exceptions.Throw( new FileNotFoundException("Could not find resource file " + filePath), Log); } var detailsOutputPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString("N")); try { await _javaLauncher.LaunchAsync( JavaLoggingSetting.Info, JavaClassNameForResourceUploader, filePath, resourceType.ToString(), driverUploadPath, detailsOutputPath); var localizedResourceName = localizedName ?? Path.GetFileName(filePath); return(ParseGeneratedOutputFile(detailsOutputPath, localizedResourceName, resourceType)); } finally { if (_file.Exists(detailsOutputPath)) { _file.Delete(detailsOutputPath); } } }
private void Launch(JobRequest jobRequest, string driverFolderPath) { _driverFolderPreparationHelper.PrepareDriverFolder(jobRequest.AppParameters, driverFolderPath); // TODO: Remove this when we have a generalized way to pass config to java var paramInjector = TangFactory.GetTang().NewInjector(jobRequest.DriverConfigurations.ToArray()); var submissionJobArgsFilePath = _paramSerializer.SerializeJobFile(jobRequest.JobParameters, paramInjector, driverFolderPath); var submissionAppArgsFilePath = _paramSerializer.SerializeAppFile(jobRequest.AppParameters, paramInjector, driverFolderPath); // Submit the driver _javaClientLauncher.LaunchAsync(JavaClassName, submissionJobArgsFilePath, submissionAppArgsFilePath) .GetAwaiter() .GetResult(); Logger.Log(Level.Info, "Submitted the Driver for execution." + jobRequest.JobIdentifier); }