diff --git a/src/api/job_step_info.c b/src/api/job_step_info.c index b52f7942b5272ffb1e92850d534e691dcb5403a2..effcb6cfba734764e6fac6fbdccddabdc3bc1cf6 100644 --- a/src/api/job_step_info.c +++ b/src/api/job_step_info.c @@ -1,9 +1,9 @@ /*****************************************************************************\ - * job_info.c - get/print the job state information of slurm + * job_info.c - get/print the job step state information of slurm ***************************************************************************** * Copyright (C) 2002 The Regents of the University of California. * Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). - * Written by Moe Jette <jette1@llnl.gov> et. al. + * Written by Moe Jette <jette1@llnl.gov>, Joey Ekstrom <ekstrom1@llnl.gov> et. al. * UCRL-CODE-2002-040. * * This file is part of SLURM, a resource management program. @@ -35,6 +35,34 @@ #include <src/api/slurm.h> #include <src/common/slurm_protocol_api.h> +/* slurm_print_job_step_info_msg - output information about all Slurm job steps */ +void +slurm_print_job_step_info_msg ( FILE* out, job_step_info_response_msg_t * job_step_info_msg_ptr ) +{ + int i; + job_step_info_t * job_step_ptr = job_step_info_msg_ptr -> job_steps ; + + fprintf( out, "Job steps updated at %ld, record count %d\n", + (long) job_step_info_msg_ptr ->last_update, job_step_info_msg_ptr->job_step_count); + + for (i = 0; i < job_step_info_msg_ptr-> job_step_count; i++) + { + slurm_print_job_step_info ( out, & job_step_ptr[i] ) ; + } +} + +/* slurm_print_job_step_info - output information about a specific Slurm job step */ +void +slurm_print_job_step_info ( FILE* out, job_step_info_t * job_step_ptr ) +{ + int j; + + fprintf ( out, "JobId=%u StepId=%u UserId=%u ", + job_step_ptr->job_id, job_step_ptr->step_id, job_step_ptr->user_id); + fprintf ( out, "StartTime=%ld Partition=%s Nodes=%s\n\n", + (long)job_step_ptr->start_time, job_step_ptr->partition, job_step_ptr->nodes); +} + /* slurm_load_job_steps - issue RPC to get Slurm job_step state information */ int slurm_get_job_steps ( uint32_t job_id, int16_t step_id, job_step_info_response_msg_t **step_response_pptr) diff --git a/src/api/slurm.h b/src/api/slurm.h index 77d97115d7bbdfed4c35365e7dc52db0c9f4bb0c..393d0f5fdd6fe9233e4feef5ffa150314830bac5 100644 --- a/src/api/slurm.h +++ b/src/api/slurm.h @@ -118,6 +118,9 @@ extern int slurm_submit_batch_job (job_desc_msg_t * job_desc_msg, submit_response_msg_t ** slurm_alloc_msg ); extern int slurm_get_job_steps ( uint32_t job_id, int16_t step_id, job_step_info_response_msg_t **step_response_pptr); +extern void slurm_print_job_step_info_msg ( FILE* out, job_step_info_response_msg_t * job_step_info_msg_ptr ); +extern void slurm_print_job_step_info ( FILE* out, job_step_info_t * job_step_ptr ); + /* * slurm_will_run - determine if a job would execute immediately * if submitted.