MCPcopy Create free account
hub / github.com/It4innovations/hyperqueue / print_task_info

Method print_task_info

crates/hyperqueue/src/client/output/cli.rs:757–919  ·  view source on GitHub ↗
(
        &self,
        job: (JobId, JobDetail),
        tasks: &[(JobTaskId, JobTaskInfo)],
        worker_map: &WorkerMap,
        server_uid: &str,
        verbosity: Verbosity,
    )

Source from the content-addressed store, hash-verified

755 }
756
757 fn print_task_info(
758 &self,
759 job: (JobId, JobDetail),
760 tasks: &[(JobTaskId, JobTaskInfo)],
761 worker_map: &WorkerMap,
762 server_uid: &str,
763 verbosity: Verbosity,
764 ) {
765 let (job_id, job) = job;
766 let task_to_paths = resolve_task_paths(&job, server_uid);
767 let mut is_truncated = false;
768
769 for (task_id, task) in tasks {
770 let (start, end) = get_task_time(&task.state);
771 let (cwd, stdout, stderr) = format_task_paths(&task_to_paths, *task_id);
772
773 let (task_desc, resource_rq, task_deps) = if let Some(x) = job
774 .submit_descs
775 .iter()
776 .find_map(|submit_desc| match &submit_desc.description().task_desc {
777 JobTaskDescription::Array {
778 ids,
779 entries: _,
780 task_desc,
781 resource_rq,
782 } if ids.contains(task_id.as_num()) => {
783 Some((task_desc, resource_rq, [].as_slice()))
784 }
785 JobTaskDescription::Array { .. } => None,
786 JobTaskDescription::Graph {
787 tasks,
788 resource_rqs,
789 } => tasks.iter().find(|t| t.id == *task_id).map(|task_dep| {
790 (
791 &task_dep.task_desc,
792 &resource_rqs[task_dep.resource_rq_id.as_usize()],
793 task_dep.task_deps.as_slice(),
794 )
795 }),
796 }) {
797 x
798 } else {
799 log::error!("Task {task_id} not found in (graph) job {job_id}");
800 return;
801 };
802
803 match &task_desc.kind {
804 TaskKind::ExternalProgram(TaskKindProgram {
805 program,
806 pin_mode,
807 task_dir,
808 }) => {
809 let mut env_vars: Vec<(_, _)> =
810 program.env.iter().filter(|(k, _)| !is_hq_env(k)).collect();
811 env_vars.sort_by_key(|item| item.0);
812
813 let rows: Vec<Vec<CellStruct>> = vec![
814 vec!["Task ID".cell().bold(true), task_id.cell()],

Callers 1

output_job_task_infoFunction · 0.45

Calls 10

resolve_task_pathsFunction · 0.85
get_task_timeFunction · 0.85
format_task_pathsFunction · 0.85
is_hq_envFunction · 0.85
descriptionMethod · 0.80
containsMethod · 0.80
findMethod · 0.80
filterMethod · 0.80
print_vertical_tableMethod · 0.80
iterMethod · 0.45

Tested by

no test coverage detected