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

Method print_task_list

crates/hyperqueue/src/client/output/cli.rs:684–755  ·  view source on GitHub ↗
(
        &self,
        mut jobs: Vec<(JobId, JobDetail)>,
        worker_map: &WorkerMap,
        _server_uid: &str,
        verbosity: Verbosity,
    )

Source from the content-addressed store, hash-verified

682 }
683
684 fn print_task_list(
685 &self,
686 mut jobs: Vec<(JobId, JobDetail)>,
687 worker_map: &WorkerMap,
688 _server_uid: &str,
689 verbosity: Verbosity,
690 ) {
691 let mut is_truncated = false;
692 jobs.sort_unstable_by_key(|x| x.0);
693 let mut rows: Vec<Vec<CellStruct>> = vec![];
694 let jobs_len = jobs.len();
695
696 for (id, job) in jobs {
697 let mut tasks = job.tasks;
698 tasks.sort_unstable_by_key(|t| t.0);
699
700 rows.append(
701 &mut tasks
702 .iter()
703 .map(|(task_id, task)| {
704 let (start, end) = get_task_time(&task.state);
705 let mut job_rows = match jobs_len {
706 1 => vec![],
707 _ => vec![id.cell().justify(Justify::Right)],
708 };
709
710 job_rows.append(&mut vec![
711 task_id.cell().justify(Justify::Right),
712 status_to_cell(&get_task_status(&task.state)),
713 format_workers(task.state.get_workers(), worker_map).cell(),
714 format_task_duration(start, end).cell(),
715 match (verbosity, &task.state) {
716 (Verbosity::Normal, JobTaskState::Failed { error, .. }) => {
717 let mut error_mut = error.clone();
718 if error_mut.len() >= ERROR_TRUNCATE_LENGTH_LIST {
719 error_mut.truncate(ERROR_TRUNCATE_LENGTH_LIST);
720 error_mut.push_str("...");
721 is_truncated = true;
722 }
723 error_mut.cell().foreground_color(Some(Color::Red))
724 }
725 (Verbosity::Verbose, JobTaskState::Failed { error, .. }) => {
726 error.to_owned().cell().foreground_color(Some(Color::Red))
727 }
728 _ => "".cell(),
729 },
730 ]);
731
732 job_rows
733 })
734 .collect(),
735 );
736 }
737
738 let mut header = match jobs_len {
739 1 => vec![],
740 _ => vec!["Job ID".cell().bold(true)],
741 };

Callers 1

output_job_task_listFunction · 0.45

Calls 5

get_task_timeFunction · 0.85
appendMethod · 0.80
lenMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected