Salome HOME
Merge branch 'omu/launcher_evol'
[modules/kernel.git] / idl / SALOME_Launcher.idl
index b98aaf3e3fea8e035f7923d4d346e4816a8cc91e..6f5b122111bb33879c15cc74e42e73ee5133f0e2 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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;
 
@@ -155,6 +169,7 @@ struct JobParameters
         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;
 
@@ -197,6 +212,7 @@ 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);
@@ -242,6 +258,12 @@ interface SalomeLauncher
   */
   boolean getJobDumpState(in long job_id, in string directory)   raises (SALOME::SALOME_Exception);
 
+  //! 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 sigle 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