Salome HOME
Create LICENSE
[modules/jobmanager.git] / src / engine / BL_Job.hxx
index 0a26e8cb6648a1bdf3a40a5551256bcd70c5f821..de8f6736dde50a061f5a7cae8ca1ae9ea969324f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -42,7 +42,7 @@ namespace BL{
       void setName(const std::string & name);
       std::string getName();
 
-      enum JobType {YACS_SCHEMA, COMMAND, PYTHON_SALOME};
+      enum JobType {YACS_SCHEMA, COMMAND, PYTHON_SALOME, COMMAND_SALOME};
       void setType(BL::Job::JobType type);
       void setType(const std::string & type);
       BL::Job::JobType getType();
@@ -53,23 +53,30 @@ namespace BL{
       void setEnvFile(const std::string & env_file);
       std::string & getEnvFile();
 
+      void setPreCommand(const std::string & pre_command);
+      std::string & getPreCommand();
+
       void setDumpYACSState(const int & dump_yacs_state);
       int getDumpYACSState();
 
+      void setYacsDriverOptions(const std::string& options);
+      const std::string& getYacsDriverOptions()const;
+
       enum MemReqType {MEM_PER_NODE, MEM_PER_CPU};
 
       struct BatchParam
       {
         std::string batch_directory;
         std::string maximum_duration;
-        unsigned long mem_limit;
+        long mem_limit;
         MemReqType mem_req_type;
         int nb_proc;
+        int nb_node;
         bool exclusive;
 
-               // Parameters for COORM
-               std::string launcher_file;
-               std::string launcher_args;
+        // Parameters for COORM
+        std::string launcher_file;
+        std::string launcher_args;
       };
       void setBatchParameters(const BL::Job::BatchParam & param);
       const BL::Job::BatchParam & getBatchParameters();
@@ -89,6 +96,15 @@ namespace BL{
       void setBatchQueue(const std::string & queue);
       std::string & getBatchQueue();
 
+      void setBatchPartition(const std::string & partition);
+      std::string & getBatchPartition();
+
+      void setWCKey(const std::string & wckey);
+      const std::string & getWCKey();
+
+      void setExtraParams(const std::string & extra_params);
+      const std::string & getExtraParams();
+
       void setLoadLevelerJobType(const std::string & jobtype);
       std::string & getLoadLevelerJobType();
 
@@ -108,17 +124,22 @@ namespace BL{
       BL::Job::State _state;
       BL::Job::ThreadState _thread_state;
       int _dump_yacs_state;
+      std::string _yacs_driver_options;
 
       std::string _name;
 
       BL::Job::JobType _type;
       std::string _job_file;
       std::string _env_file;
+      std::string _pre_command;
 
       BL::Job::BatchParam _batch_params;
       BL::Job::FilesParam _files_params;
       std::string _resource_choosed;
       std::string _batch_queue;
+      std::string _batch_partition;
+      std::string _wckey;
+      std::string _extra_params;
       std::string _ll_jobtype;
 
       int _salome_launcher_id;