@CliCommand(value = EXECUTION_LIST, help = "List created job executions filtered by jobName") public Table executionList( @CliOption(key = { "name" }, help = "the job name to be used as a filter", mandatory = false) String name) { final PagedResources<JobExecutionResource> jobs; if (name == null) { jobs = jobOperations().executionList(); } else { jobs = jobOperations().executionListByJobName(name); } TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("ID ").addValue("Task ID").addValue("Job Name ").addValue("Start Time ") .addValue("Step Execution Count ").addValue("Definition Status "); for (JobExecutionResource job : jobs) { modelBuilder.addRow().addValue(job.getExecutionId()).addValue(job.getTaskExecutionId()) .addValue(job.getJobExecution().getJobInstance().getJobName()) .addValue(job.getJobExecution().getStartTime()) .addValue(job.getJobExecution().getStepExecutions().size()) .addValue(job.isDefined() ? "Created" : "Destroyed"); } TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }
@CliCommand(value = EXECUTION_LIST, help = "List created job executions filtered by jobName") public Table executionList( @CliOption(key = { "name" }, help = "the job name to be used as a filter", mandatory = false) String name) { final PagedResources<JobExecutionThinResource> jobs; if (name == null) { jobs = jobOperations().executionThinList(); } else { jobs = jobOperations().executionThinListByJobName(name); } TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("ID ").addValue("Task ID").addValue("Job Name ").addValue("Start Time ") .addValue("Step Execution Count ").addValue("Definition Status "); for (JobExecutionThinResource job : jobs) { modelBuilder.addRow().addValue(job.getExecutionId()).addValue(job.getTaskExecutionId()) .addValue(job.getName()) .addValue(job.getStartDateTime()) .addValue(job.getStepExecutionCount()) .addValue(job.isDefined() ? "Created" : "Destroyed"); } TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }
@CliCommand(value = STEP_EXECUTION_PROGRESS, help = "Display the details of a specific step progress") public Table stepProgressDisplay( @CliOption(key = { "id" }, help = "the step execution id", mandatory = true) long id, @CliOption(key = { "jobExecutionId" }, help = "the job execution id", mandatory = true) long jobExecutionId) { StepExecutionProgressInfoResource progressInfoResource = jobOperations().stepExecutionProgress(jobExecutionId, id); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("ID ").addValue("Step Name ").addValue("Complete ").addValue("Duration "); modelBuilder.addRow().addValue(progressInfoResource.getStepExecution().getId()) .addValue(progressInfoResource.getStepExecution().getStepName()) .addValue(progressInfoResource.getPercentageComplete() * 100 + "%") .addValue(progressInfoResource.getDuration() + " ms"); TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }
@CliCommand(value = INSTANCE_DISPLAY, help = "Display the job executions for a specific job instance.") public Table instanceDisplay(@CliOption(key = { "id" }, help = "the job instance id", mandatory = true) long id) { JobInstanceResource jobInstanceResource = jobOperations().jobInstance(id); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("Name ").addValue("Execution ID ").addValue("Step Execution Count ") .addValue("Status ").addValue("Job Parameters "); for (JobExecutionResource job : jobInstanceResource.getJobExecutions()) { modelBuilder.addRow().addValue(jobInstanceResource.getJobName()).addValue(job.getExecutionId()) .addValue(job.getStepExecutionCount()).addValue(job.getJobExecution().getStatus().name()) .addValue(job.getJobParametersString()); } TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }
@CliCommand(value = STEP_EXECUTION_LIST, help = "List step executions filtered by jobExecutionId") public Table stepExecutionList(@CliOption(key = { "id" }, help = "the job execution id to be used as a filter", mandatory = true) long id) { final PagedResources<StepExecutionResource> steps = jobOperations().stepExecutionList(id); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("ID ").addValue("Step Name ").addValue("Job Exec Id ").addValue("Start Time ") .addValue("End Time ").addValue("Status "); for (StepExecutionResource step : steps) { modelBuilder.addRow().addValue(step.getStepExecution().getId()) .addValue(step.getStepExecution().getStepName()).addValue(id) .addValue(step.getStepExecution().getStartTime()).addValue(step.getStepExecution().getEndTime()) .addValue(step.getStepExecution().getStatus().name()); } TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }
break; case "job": jobOperations().executionList().forEach(jer -> {if (!"?".equals(jer.getName())) { completions.add(new Completion(jer.getName())); }});
@CliCommand(value = EXECUTION_DISPLAY, help = "Display the details of a specific job execution") public Table executionDisplay(@CliOption(key = { "id" }, help = "the job execution id", mandatory = true) long id) { JobExecutionResource jobExecutionResource = jobOperations().jobExecution(id);
@CliCommand(value = STEP_EXECUTION_PROGRESS, help = "Display the details of a specific step progress") public Table stepProgressDisplay( @CliOption(key = { "id" }, help = "the step execution id", mandatory = true) long id, @CliOption(key = { "jobExecutionId" }, help = "the job execution id", mandatory = true) long jobExecutionId) { StepExecutionProgressInfoResource progressInfoResource = jobOperations().stepExecutionProgress(jobExecutionId, id); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("ID ").addValue("Step Name ").addValue("Complete ").addValue("Duration "); modelBuilder.addRow().addValue(progressInfoResource.getStepExecution().getId()) .addValue(progressInfoResource.getStepExecution().getStepName()) .addValue(progressInfoResource.getPercentageComplete() * 100 + "%") .addValue(progressInfoResource.getDuration() + " ms"); TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }
@CliCommand(value = INSTANCE_DISPLAY, help = "Display the job executions for a specific job instance.") public Table instanceDisplay(@CliOption(key = { "id" }, help = "the job instance id", mandatory = true) long id) { JobInstanceResource jobInstanceResource = jobOperations().jobInstance(id); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("Name ").addValue("Execution ID ").addValue("Step Execution Count ") .addValue("Status ").addValue("Job Parameters "); for (JobExecutionResource job : jobInstanceResource.getJobExecutions()) { modelBuilder.addRow().addValue(jobInstanceResource.getJobName()).addValue(job.getExecutionId()) .addValue(job.getStepExecutionCount()).addValue(job.getJobExecution().getStatus().name()) .addValue(job.getJobParametersString()); } TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }
@CliCommand(value = STEP_EXECUTION_LIST, help = "List step executions filtered by jobExecutionId") public Table stepExecutionList(@CliOption(key = { "id" }, help = "the job execution id to be used as a filter", mandatory = true) long id) { final PagedResources<StepExecutionResource> steps = jobOperations().stepExecutionList(id); TableModelBuilder<Object> modelBuilder = new TableModelBuilder<>(); modelBuilder.addRow().addValue("ID ").addValue("Step Name ").addValue("Job Exec Id ").addValue("Start Time ") .addValue("End Time ").addValue("Status "); for (StepExecutionResource step : steps) { modelBuilder.addRow().addValue(step.getStepExecution().getId()) .addValue(step.getStepExecution().getStepName()).addValue(id) .addValue(step.getStepExecution().getStartTime()).addValue(step.getStepExecution().getEndTime()) .addValue(step.getStepExecution().getStatus().name()); } TableBuilder builder = new TableBuilder(modelBuilder.build()); DataFlowTables.applyStyle(builder); return builder.build(); }
break; case "job": jobOperations().executionList().forEach(jer -> {if (!"?".equals(jer.getName())) { completions.add(new Completion(jer.getName())); }});
@CliCommand(value = EXECUTION_DISPLAY, help = "Display the details of a specific job execution") public Table executionDisplay(@CliOption(key = { "id" }, help = "the job execution id", mandatory = true) long id) { JobExecutionResource jobExecutionResource = jobOperations().jobExecution(id);
"jobExecutionId" }, help = "the job execution id", mandatory = true) long jobExecutionId) { StepExecutionProgressInfoResource progressInfoResource = jobOperations().stepExecutionProgress(jobExecutionId, id);
"jobExecutionId" }, help = "the job execution id", mandatory = true) long jobExecutionId) { StepExecutionProgressInfoResource progressInfoResource = jobOperations().stepExecutionProgress(jobExecutionId, id);