Slurm API(3)

NAME
slurm_init_job_desc_msg, slurm_init_update_step_msg, slurm_update_job, 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_step (
    step_update_request_msg_t * step_msg
);

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.

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_step Update a job step with the changes made to the data structure passed as an argument to the function.

RETURN VALUE

On success, zero is returned. On error, -1 is returned, and the Slurm error code is set appropriately.

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
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://computing.llnl.gov/linux/slurm/>.

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_get_errno(3), slurm_perror(3), slurm_strerror(3)