-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//! Type of the job.
/*! There are three supported types:
- "command" : execute #job_file script without %SALOME environment
+ - "command_salome" : execute #job_file script within %SALOME environment
+ (salome shell) but the %SALOME application is not
+ launched
- "python_salome" : execute #job_file python script by %SALOME
- "yacs_file" : execute #job_file by YACS module as a xml YACS schema
*/
*/
string job_file;
- //! Pre processing command.
- /*! This command is called on the remote resource, from #work_directory, after
+ //! Pre processing script.
+ /*! This script is called on the remote resource, from #work_directory, after
the copy of #in_files and before submiting the job.
*/
string pre_command;
string env_file;
//! List of local data files to be copied to #work_directory.
- /*! #job_file and #env_file are automaticaly copied, without adding them
+ /*! #job_file and #env_file are automatically copied, without adding them
to this list. If basenames are specified, then the files are supposed
to be located in #local_directory.
*/
this directory. A change directory toward this working directory is done
by the batch system before running the job.
If not specified (empty string), the launcher will use the working
- directory of the chosen ressource and if this is also an empty string
+ directory of the chosen resource and if this is also an empty string
the value used will be $HOME/Batch/workdir_"date" where $HOME is the
- value of the environment variable on the remote ressource and "date" is
+ value of the environment variable on the remote resource and "date" is
the current date.
*/
string work_directory;
//! Prefix to be applied to #in_files.
/*! It can be used to specify where to find the local input files.
- It's optionnal if you specify the absolute path name of input files.
+ It's optional if you specify the absolute path name of input files.
*/
string local_directory;
*/
string maximum_duration;
- //! Specifies the rules to choose the ressource where to execute the job.
- /*! The additionnal two following parameters MUST be specified explicitly,
+ //! Specifies the rules to choose the resource where to execute the job.
+ /*! The additional two following parameters MUST be specified explicitly,
because they are not provided by the resource definition:
- mem_mb -> Memory expressed in megabytes.
- nb_proc -> Number of Processors.
//! Name of the batch queue chosen - optional
string queue;
-
+
+ //! Name of the partition - optional
+ /*! It can be used only for slurm batch managers.
+ */
+ string partition;
+
//! Specifies if the job must run in exclusive mode (without sharing nodes with other jobs)
boolean exclusive;
//! Get the execution state of the job.
/*! \return "CREATED", "IN_PROCESS", "QUEUED", "RUNNING", "PAUSED",
- "FINISHED" or "FAILED"
+ "FINISHED", "ERROR" or "FAILED"
\see LIBBATCH/src/core/Constants.hxx
*/
string getJobState (in long job_id) raises (SALOME::SALOME_Exception);
//! Get names or ids of hosts assigned to the job
string getAssignedHostnames (in long job_id) raises (SALOME::SALOME_Exception);
+ //! Copy all the in_files of the job to the work_directory.
+ void exportInputFiles(in long job_id) raises (SALOME::SALOME_Exception);
+
//! Copy the result files from the work directory of the job
//! to a local directory.
/*! The list of result files is given by the JobParameters::out_files parameter.
*/
void clearJobWorkingDir(in long job_id) raises (SALOME::SALOME_Exception);
- //! Retrieve one sigle file from the working directory.
+ //! Retrieve one single file from the working directory.
/*! Use this method if you don't want to copy all the results of the job,
for instance if you want to obtain a file which contains the computing
progress while the job is running.
//! Kill the job and remove it from the jobs list
void removeJob (in long job_id) raises (SALOME::SALOME_Exception);
+ //! Get the job's serialization string
+ string dumpJob(in long job_id) raises (SALOME::SALOME_Exception);
+ //! Create a job from its serialization string
+ /*! \param dumpedJob Serialization string returned by dumpJob.
+ \return Job id
+ */
+ long restoreJob(in string dumpedJob) raises (SALOME::SALOME_Exception);
+
// Useful methods
long createJobWithFile(in string xmlJobFile, in string clusterName) raises (SALOME::SALOME_Exception);
boolean testBatch (in ResourceParameters params) raises (SALOME::SALOME_Exception);
void loadJobs(in string jobs_file) raises (SALOME::SALOME_Exception);
//! Save the current list of jobs in an xml file.
void saveJobs(in string jobs_file) raises (SALOME::SALOME_Exception);
-
};
};