X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=idl%2FSALOME_Launcher.idl;h=c9be320492dd75be0b4113c17af246a530af9527;hb=f9ce15cb3b95e2156c0b967ec70b69ba1d864a2f;hp=ec3188069f44982db3fdb59ba005c5f88804f5d6;hpb=acd0f44b58f38381f87c6cc58d3e77006cf891a4;p=modules%2Fkernel.git diff --git a/idl/SALOME_Launcher.idl b/idl/SALOME_Launcher.idl index ec3188069..c9be32049 100644 --- a/idl/SALOME_Launcher.idl +++ b/idl/SALOME_Launcher.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 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 @@ -52,6 +52,9 @@ struct JobParameters //! 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 */ @@ -66,13 +69,19 @@ struct JobParameters */ string job_file; + //! 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; + //! Local path to a script to be sourced in the environment of the job. /*! It may contain modifications of environment variables. */ 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. */ @@ -94,16 +103,16 @@ struct JobParameters 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; @@ -122,8 +131,8 @@ struct JobParameters */ 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. @@ -132,7 +141,12 @@ struct JobParameters //! 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; @@ -153,6 +167,9 @@ struct JobParameters when the job type is "yacs_file". It gives the number of seconds between two updates of the state dump file. There will be no dump file if this parameter is missing or if its value is less than 1. + - YACSDriverOptions : options of the driver command when the job type is + "yacs_file". + - LoalLevelerJobType : LL_JOBTYPE. */ Engines::ParameterList specific_parameters; @@ -195,13 +212,14 @@ interface SalomeLauncher /*! Launching the job consists of: - create the working directory on the remote file system - copy the input files into the working directory + - launch the pre processing command if one is defined - submit the job to the batch manager */ void launchJob (in long job_id) raises (SALOME::SALOME_Exception); //! 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); @@ -209,6 +227,9 @@ interface SalomeLauncher //! 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. @@ -240,7 +261,13 @@ interface SalomeLauncher */ boolean getJobDumpState(in long job_id, in string directory) raises (SALOME::SALOME_Exception); - //! Retrieve one sigle file from the working directory. + //! Remove the working directory on the remote file system. + /*! + \param job_id Job id returned by createJob(). + */ + void clearJobWorkingDir(in long job_id) raises (SALOME::SALOME_Exception); + + //! 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. @@ -261,6 +288,14 @@ interface SalomeLauncher //! 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); @@ -283,7 +318,6 @@ interface SalomeLauncher 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); - }; };