NAME
slurm_suspend, slurm_suspend2, slurm_resume, slurm_resume2, slurm_requeue, slurm_requeue2, slurm_free_job_array_resp - Slurm suspend, resume and requeue functionsSYNTAX
#include <slurm/slurm.h>
int slurm_suspend (
uint32_t job_id
);
int slurm_suspend2 (
char * job_id_str,
job_array_resp_msg_t **resp
);
int slurm_resume (
uint32_t job_id
);
int slurm_resume2 (
char * job_id_str,
job_array_resp_msg_t **resp
);
int slurm_requeue (
uint32_t job_id,
uint32_t state
);
int slurm_requeue2 (
char * job_id_str,
uint32_t state,
job_array_resp_msg_t **resp
);
void slurm_free_job_array_resp (
job_array_resp_msg_t *resp
);
ARGUMENTS
- job_id
- Slurm job ID to perform the operation upon in numeric form.
- job_id_str
- Slurm job ID to perform the operation upon in string form. This is intended to be a single job. For job arrays, the job ID may be followed by an underscore and task ID values. For example: "123", "123_4", "123_4-6", "123_4,6,8", and "123_4-6,18". The functions using this option are designed primarily for use with job arrays so that separate error codes can be returned for each task of the job array.
- 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.
- state
-
The state in which the job should be requeued valid values are:
-
- "0"
- If the job has to be requeued in JOB_PENDING state.
- "JOB_SPECIAL_EXIT"
- If the job has to be requeued in the special exit state and be held.
- "JOB_REQUEUE_HOLD"
- If the job has to be requeued in "JOB_PENDING" and held state.
-
DESCRIPTION
- slurm_suspend
- Suspend the specified job.
- slurm_suspend2
- Suspend the specified job or job array. Call the function slurm_free_job_array_resp to release memory allocated for the response array.
- slurm_resume
- Resume execution of a previously suspended job.
- slurm_resume2
- Resume execution of a previously suspended job or job array. Call the function slurm_free_job_array_resp to release memory allocated for the response array.
- slurm_requeue
- Requeue a running or pending Slurm batch job. The job script will be restarted from its beginning, ignoring any previous checkpoint.
- slurm_requeue2
- Requeue a running or pending Slurm batch job or job array. The job script will be restarted from its beginning, ignoring any previous checkpoint. Call the function slurm_free_job_array_resp to release memory allocated for the response array.
- slurm_free_job_array_resp
-
Release memory allocated by the slurm_suspend2, slurm_resume2,
slurm_requeue2, and slurm_update_job2 functions.
RETURN VALUE
Zero is returned upon success. On error, -1 is returned, and the Slurm error code is set appropriately. Functions slurm_suspend2, slurm_resume2, and slurm_requeue2 return 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
ESLURM_DISABLED the operation is currently disabled (e.g. attempt to suspend a job that is not running, resume a job that is not currently suspended, or requeue a job on which the operation has been disabled).
ESLURM_INVALID_JOB_ID the requested job id does not exist.
ESLURM_ACCESS_DENIED the requesting user lacks authorization for the requested action (e.g. not user root or SlurmUser).
ESLURM_JOB_PENDING the requested job is still pending.
ESLURM_ALREADY_DONE the requested job has already completed.
ESLURM_NOT_SUPPORTED the requested operation is not supported on this system.
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) 2005-2006 The Regents of the University of California. 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 <http://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)