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

Function output_job_task_info

crates/hyperqueue/src/client/task.rs:112–153  ·  view source on GitHub ↗
(
    gsettings: &GlobalSettings,
    session: &mut ClientSession,
    job_id_selector: SingleIdSelector,
    task_id_selector: TaskIdSelector,
    verbosity: Verbosity,
)

Source from the content-addressed store, hash-verified

110}
111
112pub async fn output_job_task_info(
113 gsettings: &GlobalSettings,
114 session: &mut ClientSession,
115 job_id_selector: SingleIdSelector,
116 task_id_selector: TaskIdSelector,
117 verbosity: Verbosity,
118) -> anyhow::Result<()> {
119 let message = FromClientMessage::JobDetail(JobDetailRequest {
120 job_id_selector: match job_id_selector {
121 SingleIdSelector::Specific(id) => IdSelector::Specific(IntArray::from_id(id)),
122 SingleIdSelector::Last => IdSelector::LastN(1),
123 },
124 task_selector: Some(TaskSelector {
125 id_selector: task_id_selector,
126 status_selector: TaskStatusSelector::All,
127 }),
128 });
129 let response =
130 rpc_call!(session.connection(), message, ToClientMessage::JobDetailResponse(r) => r)
131 .await?;
132
133 let (job_id, opt_job) = response.details.first().unwrap();
134 match opt_job {
135 None => log::error!("Cannot find job {job_id}"),
136 Some(job) => {
137 let worker_map = get_worker_map(session).await?;
138 gsettings.printer().print_task_info(
139 (*job_id, job.clone()),
140 &job.tasks,
141 &worker_map,
142 &response.server_uid,
143 verbosity,
144 );
145
146 for task_id in &job.tasks_not_found {
147 log::warn!("Task {task_id} not found");
148 }
149 }
150 }
151
152 Ok(())
153}
154
155pub async fn output_job_task_ids(
156 gsettings: &GlobalSettings,

Callers 1

command_task_infoFunction · 0.85

Calls 5

JobDetailClass · 0.85
get_worker_mapFunction · 0.85
printerMethod · 0.80
print_task_infoMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected