Provided by: libslurm-dev_17.11.2-1build1_amd64
NAME
slurm_init_job_desc_msg, slurm_init_update_step_msg, slurm_update_job, slurm_update_job2, slurm_update_step - Slurm job and step update functions
SYNTAX
#include <slurm/slurm.h> void slurm_init_job_desc_msg ( job_desc_msg_t *job_desc_msg_ptr ); void slurm_init_update_step_msg ( step_update_request_msg_t * step_msg ); int slurm_update_job ( job_desc_msg_t * job_msg ); int slurm_update_job2 ( job_desc_msg_t * job_msg, job_array_resp_msg_t **resp ); int slurm_update_step ( step_update_request_msg_t * step_msg ); void slurm_free_job_array_resp ( job_array_resp_msg_t *resp );
ARGUMENTS
job_msg Specifies the pointer to a job descriptor. See slurm.h for full details on the data structure's contents. step_msg Specifies the pointer to a step descriptor. See slurm.h for full details on the data structure's contents. resp Array of error codes and job IDs. Always use the slurm_free_job_array_resp function to release the memory allocated to hold the error codes.
DESCRIPTION
slurm_init_job_desc_msg Initialize the contents of a job descriptor with default values. Execute this function before issuing a request to submit or modify a job. slurm_init_update_step_msg Initialize the contents of a job step update descriptor with default values. Execute this function before issuing a request to modify a job step. slurm_update_job Update a job with the changes made to the data structure passed as an argument to the function. slurm_update_job2 Update a job or job array with the changes made to the data structure passed as an argument to the function. Call the function slurm_free_job_array_resp to release memory allocated for the response array. slurm_update_step Update a job step with the changes made to the data structure passed as an argument to the function. slurm_free_job_array_resp Release memory allocated by the slurm_suspend2, slurm_resume2, slurm_requeue2, and slurm_update_job2 functions.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and the Slurm error code is set appropriately. The function slurm_update_job2 returns zero if the resp array is filled, in which the that array should be examined to determine the error codes for individual tasks of a job array. Then call the function slurm_free_job_array_resp to release memory allocated for the response array.
ERRORS
SLURM_PROTOCOL_VERSION_ERROR Protocol version has changed, re-link your code. ESLURM_ACCESS_DENIED The requesting user lacks authorization for the requested action (e.g. trying to modify another user's job). ESLURM_INVALID_JOB_ID Invalid job or step ID value. ESLURM_INVALID_TIME_VALUE Invalid time value.
EXAMPLE
#include <stdio.h> #include <slurm/slurm.h> #include <slurm/slurm_errno.h> int main (int argc, char *argv[]) { job_desc_msg_t update_job_msg; step_update_request_msg_t update_step_msg; slurm_init_job_desc_msg( &update_job_msg ); update_job_msg.job_id = 1234; update_job_msg time_limit = 200; if (slurm_update_job (&update_job_msg)) { slurm_perror ("slurm_update_job error"); exit (1); } slurm_init_update_step_msg( &update_step_msg ); update_step_msg.job_id = 1234; update_step_msg.step_id = 2; update_step_msg time_limit = 30; if (slurm_update_step (&update_step_msg)) { slurm_perror ("slurm_update_step error"); exit (1); } exit (0); }
NOTE
These functions are included in the libslurm library, which must be linked to your process for use (e.g. "cc -lslurm myprog.c").
COPYING
Portions copyright (C) 2014 SchedMD LLC. Portions copyright (C) 2009-2010 Lawrence Livermore National Security. Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). CODE-OCEC-09-009. All rights reserved. This file is part of Slurm, a resource management program. For details, see <https://slurm.schedmd.com/>. Slurm is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Slurm is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
SEE ALSO
scontrol(1), slurm_free_job_array_resp(3), slurm_get_errno(3), slurm_perror(3), slurm_strerror(3),