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

Function output_job_task_ids

crates/hyperqueue/src/client/task.rs:155–194  ·  view source on GitHub ↗
(
    gsettings: &GlobalSettings,
    session: &mut ClientSession,
    opts: JobTaskIdsOpts,
)

Source from the content-addressed store, hash-verified

153}
154
155pub async fn output_job_task_ids(
156 gsettings: &GlobalSettings,
157 session: &mut ClientSession,
158 opts: JobTaskIdsOpts,
159) -> anyhow::Result<()> {
160 let message = FromClientMessage::JobDetail(JobDetailRequest {
161 job_id_selector: opts.selector,
162 task_selector: Some(TaskSelector {
163 id_selector: TaskIdSelector::All,
164 status_selector: if opts.filter.is_empty() {
165 TaskStatusSelector::All
166 } else {
167 TaskStatusSelector::Specific(opts.filter)
168 },
169 }),
170 });
171 let response =
172 rpc_call!(session.connection(), message, ToClientMessage::JobDetailResponse(r) => r)
173 .await?;
174 let mut job_task_ids: Vec<_> = response
175 .details
176 .iter()
177 .map(|(job_id, detail)| {
178 Ok((
179 *job_id,
180 IntArray::from_sorted_ids(
181 detail
182 .as_ref()
183 .ok_or_else(|| HqError::GenericError("Job Id not found".to_string()))?
184 .tasks
185 .iter()
186 .map(|(task_id, _)| task_id.as_num()),
187 ),
188 ))
189 })
190 .collect::<crate::Result<Vec<(JobId, IntArray)>>>()?;
191 job_task_ids.sort_unstable_by_key(|x| x.0);
192 gsettings.printer().print_task_ids(job_task_ids);
193 Ok(())
194}
195
196pub async fn output_job_task_explain(
197 gsettings: &GlobalSettings,

Callers 1

command_job_task_idsFunction · 0.85

Calls 7

JobDetailClass · 0.85
as_refMethod · 0.80
to_stringMethod · 0.80
printerMethod · 0.80
is_emptyMethod · 0.45
iterMethod · 0.45
print_task_idsMethod · 0.45

Tested by

no test coverage detected