use of com.google.cloud.video.transcoder.v1.Job in project java-docs-samples by GoogleCloudPlatform.
the class JobSearchCreateJobCustomAttributes method createJob.
// Create Job with Custom Attributes.
public static void createJob(String projectId, String tenantId, String companyId, String requisitionId) throws IOException {
// the "close" method on the client to safely clean up any remaining background resources.
try (JobServiceClient jobServiceClient = JobServiceClient.create()) {
TenantName parent = TenantName.of(projectId, tenantId);
// Custom attribute can be string or numeric value, and can be filtered in search queries.
// https://cloud.google.com/talent-solution/job-search/docs/custom-attributes
CustomAttribute customAttribute = CustomAttribute.newBuilder().addStringValues("Internship").addStringValues("Apprenticeship").setFilterable(true).build();
Job job = Job.newBuilder().setCompany(companyId).setTitle("Software Developer I").setDescription("This is a description of this <i>wonderful</i> job!").putCustomAttributes("FOR_STUDENTS", customAttribute).setRequisitionId(requisitionId).setLanguageCode("en-US").build();
CreateJobRequest request = CreateJobRequest.newBuilder().setParent(parent.toString()).setJob(job).build();
Job response = jobServiceClient.createJob(request);
System.out.printf("Created job: %s\n", response.getName());
}
}
use of com.google.cloud.video.transcoder.v1.Job in project java-docs-samples by GoogleCloudPlatform.
the class JobSearchGetJob method getJob.
// Get Job.
public static void getJob(String projectId, String tenantId, String jobId) throws IOException {
// the "close" method on the client to safely clean up any remaining background resources.
try (JobServiceClient jobServiceClient = JobServiceClient.create()) {
JobName name = JobName.ofProjectTenantJobName(projectId, tenantId, jobId);
GetJobRequest request = GetJobRequest.newBuilder().setName(name.toString()).build();
Job response = jobServiceClient.getJob(request);
System.out.format("Job name: %s%n", response.getName());
System.out.format("Requisition ID: %s%n", response.getRequisitionId());
System.out.format("Title: %s%n", response.getTitle());
System.out.format("Description: %s%n", response.getDescription());
System.out.format("Posting language: %s%n", response.getLanguageCode());
for (String address : response.getAddressesList()) {
System.out.format("Address: %s%n", address);
}
for (String email : response.getApplicationInfo().getEmailsList()) {
System.out.format("Email: %s%n", email);
}
for (String websiteUri : response.getApplicationInfo().getUrisList()) {
System.out.format("Website: %s%n", websiteUri);
}
}
}
use of com.google.cloud.video.transcoder.v1.Job in project cdap by caskdata.
the class DataprocRuntimeJobManager method launch.
@Override
public void launch(RuntimeJobInfo runtimeJobInfo) throws Exception {
String bucket = DataprocUtils.getBucketName(this.bucket);
ProgramRunInfo runInfo = runtimeJobInfo.getProgramRunInfo();
LOG.debug("Launching run {} with following configurations: cluster {}, project {}, region {}, bucket {}.", runInfo.getRun(), clusterName, projectId, region, bucket);
// TODO: CDAP-16408 use fixed directory for caching twill, application, artifact jars
File tempDir = Files.createTempDirectory("dataproc.launcher").toFile();
// on dataproc bucket the run root will be <bucket>/cdap-job/<runid>/. All the files for this run will be copied
// under that base dir.
String runRootPath = getPath(DataprocUtils.CDAP_GCS_ROOT, runInfo.getRun());
try {
// step 1: build twill.jar and launcher.jar and add them to files to be copied to gcs
List<LocalFile> localFiles = getRuntimeLocalFiles(runtimeJobInfo.getLocalizeFiles(), tempDir);
// step 2: upload all the necessary files to gcs so that those files are available to dataproc job
List<Future<LocalFile>> uploadFutures = new ArrayList<>();
for (LocalFile fileToUpload : localFiles) {
String targetFilePath = getPath(runRootPath, fileToUpload.getName());
uploadFutures.add(provisionerContext.execute(() -> uploadFile(bucket, targetFilePath, fileToUpload)).toCompletableFuture());
}
List<LocalFile> uploadedFiles = new ArrayList<>();
for (Future<LocalFile> uploadFuture : uploadFutures) {
uploadedFiles.add(uploadFuture.get());
}
// step 3: build the hadoop job request to be submitted to dataproc
SubmitJobRequest request = getSubmitJobRequest(runtimeJobInfo, uploadedFiles);
// step 4: submit hadoop job to dataproc
try {
Job job = getJobControllerClient().submitJob(request);
LOG.debug("Successfully submitted hadoop job {} to cluster {}.", job.getReference().getJobId(), clusterName);
} catch (AlreadyExistsException ex) {
// the job id already exists, ignore the job.
LOG.warn("The dataproc job {} already exists. Ignoring resubmission of the job.", request.getJob().getReference().getJobId());
}
DataprocUtils.emitMetric(provisionerContext, region, "provisioner.submitJob.response.count");
} catch (Exception e) {
// delete all uploaded gcs files in case of exception
DataprocUtils.deleteGCSPath(getStorageClient(), bucket, runRootPath);
DataprocUtils.emitMetric(provisionerContext, region, "provisioner.submitJob.response.count", e);
throw new Exception(String.format("Error while launching job %s on cluster %s", getJobId(runInfo), clusterName), e);
} finally {
// delete local temp directory
deleteDirectoryContents(tempDir);
}
}
use of com.google.cloud.video.transcoder.v1.Job in project java-talent by googleapis.
the class JobSearchBatchCreateJobs method sampleBatchCreateJobs.
/**
* Batch Create Jobs
*
* @param projectId Your Google Cloud Project ID
* @param tenantId Identifier of the Tenant
*/
public static void sampleBatchCreateJobs(String projectId, String tenantId, String companyNameOne, String requisitionIdOne, String titleOne, String descriptionOne, String jobApplicationUrlOne, String addressOne, String languageCodeOne, String companyNameTwo, String requisitionIdTwo, String titleTwo, String descriptionTwo, String jobApplicationUrlTwo, String addressTwo, String languageCodeTwo) {
try (JobServiceClient jobServiceClient = JobServiceClient.create()) {
String formattedParent = TenantName.format(projectId, tenantId);
List<String> uris = Arrays.asList(jobApplicationUrlOne);
Job.ApplicationInfo applicationInfo = Job.ApplicationInfo.newBuilder().addAllUris(uris).build();
List<String> addresses = Arrays.asList(addressOne);
Job jobsElement = Job.newBuilder().setCompany(companyNameOne).setRequisitionId(requisitionIdOne).setTitle(titleOne).setDescription(descriptionOne).setApplicationInfo(applicationInfo).addAllAddresses(addresses).setLanguageCode(languageCodeOne).build();
List<String> uris2 = Arrays.asList(jobApplicationUrlTwo);
Job.ApplicationInfo applicationInfo2 = Job.ApplicationInfo.newBuilder().addAllUris(uris2).build();
List<String> addresses2 = Arrays.asList(addressTwo);
Job jobsElement2 = Job.newBuilder().setCompany(companyNameTwo).setRequisitionId(requisitionIdTwo).setTitle(titleTwo).setDescription(descriptionTwo).setApplicationInfo(applicationInfo2).addAllAddresses(addresses2).setLanguageCode(languageCodeTwo).build();
List<Job> jobs = Arrays.asList(jobsElement, jobsElement2);
BatchCreateJobsRequest request = BatchCreateJobsRequest.newBuilder().setParent(formattedParent).addAllJobs(jobs).build();
OperationFuture<JobOperationResult, BatchOperationMetadata> future = jobServiceClient.batchCreateJobsAsync(request);
System.out.println("Waiting for operation to complete...");
JobOperationResult response = future.get();
System.out.printf("Batch response: %s\n", response);
} catch (Exception exception) {
System.err.println("Failed to create the client due to: " + exception);
}
}
use of com.google.cloud.video.transcoder.v1.Job in project java-talent by googleapis.
the class JobSearchBatchUpdateJobs method sampleBatchUpdateJobs.
/**
* Batch Update Jobs
*
* @param projectId Your Google Cloud Project ID
* @param tenantId Identifier of the Tenant
*/
public static void sampleBatchUpdateJobs(String projectId, String tenantId, String jobNameOne, String companyNameOne, String requisitionIdOne, String titleOne, String descriptionOne, String jobApplicationUrlOne, String addressOne, String languageCodeOne, String jobNameTwo, String companyNameTwo, String requisitionIdTwo, String titleTwo, String descriptionTwo, String jobApplicationUrlTwo, String addressTwo, String languageCodeTwo) {
try (JobServiceClient jobServiceClient = JobServiceClient.create()) {
String formattedParent = TenantName.format(projectId, tenantId);
List<String> uris = Arrays.asList(jobApplicationUrlOne);
Job.ApplicationInfo applicationInfo = Job.ApplicationInfo.newBuilder().addAllUris(uris).build();
List<String> addresses = Arrays.asList(addressOne);
Job jobsElement = Job.newBuilder().setName(jobNameOne).setCompany(companyNameOne).setRequisitionId(requisitionIdOne).setTitle(titleOne).setDescription(descriptionOne).setApplicationInfo(applicationInfo).addAllAddresses(addresses).setLanguageCode(languageCodeOne).build();
List<String> uris2 = Arrays.asList(jobApplicationUrlTwo);
Job.ApplicationInfo applicationInfo2 = Job.ApplicationInfo.newBuilder().addAllUris(uris2).build();
List<String> addresses2 = Arrays.asList(addressTwo);
Job jobsElement2 = Job.newBuilder().setName(jobNameTwo).setCompany(companyNameTwo).setRequisitionId(requisitionIdTwo).setTitle(titleTwo).setDescription(descriptionTwo).setApplicationInfo(applicationInfo2).addAllAddresses(addresses2).setLanguageCode(languageCodeTwo).build();
List<Job> jobs = Arrays.asList(jobsElement, jobsElement2);
BatchUpdateJobsRequest request = BatchUpdateJobsRequest.newBuilder().setParent(formattedParent).addAllJobs(jobs).build();
OperationFuture<JobOperationResult, BatchOperationMetadata> future = jobServiceClient.batchUpdateJobsAsync(request);
System.out.println("Waiting for operation to complete...");
JobOperationResult response = future.get();
System.out.printf("Batch response: %s\n", response);
} catch (Exception exception) {
System.err.println("Failed to create the client due to: " + exception);
}
}
Aggregations