(
&self,
job: (JobId, JobDetail),
tasks: &[(JobTaskId, JobTaskInfo)],
worker_map: &WorkerMap,
server_uid: &str,
verbosity: Verbosity,
)
| 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()], |
no test coverage detected