00001 #ifndef EVENT_LOOP_SLURM_DRIVER_HH
00002 #define EVENT_LOOP_SLURM_DRIVER_HH
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00017
00018
00019
00020 #include <EventLoop/Global.h>
00021
00022 #include <EventLoop/BatchDriver.h>
00023 #include <SampleHandler/Global.h>
00024
00025 #include <iostream>
00026
00027 namespace EL
00028 {
00029 class SlurmDriver : public BatchDriver
00030 {
00031
00032
00033
00034
00037 public:
00038 void testInvariant () const;
00039
00040
00044 public:
00045 SlurmDriver ();
00046
00047 void SetJobName(std::string job_name);
00048 void SetAccount(std::string account);
00049 void SetPartition(std::string partition);
00050 void SetRunTime(std::string run_time);
00051 void SetMemory(std::string memory);
00052 void SetConstrain(std::string constraint);
00053
00054
00055
00056
00057
00062 private:
00063 virtual void
00064 batchSubmit (const std::string& location, const SH::MetaObject& options, std::size_t njob) const override;
00065
00070 private:
00071 virtual std::string batchInit () const override;
00072
00073
00074 std::string m_job_name;
00075 std::string m_account;
00076 std::string m_partition;
00077 std::string m_run_time;
00078 std::string m_memory;
00079 std::string m_constraint;
00080
00081 bool m_b_job_name;
00082 bool m_b_account;
00083 bool m_b_partition;
00084 bool m_b_run_time;
00085 bool m_b_memory;
00086 bool m_b_constraint;
00087
00088
00089
00090
00091
00092 #pragma GCC diagnostic push
00093 #pragma GCC diagnostic ignored "-Wpragmas"
00094 #pragma GCC diagnostic ignored "-Wunknown-pragmas"
00095 #pragma GCC diagnostic ignored "-Winconsistent-missing-override"
00096 ClassDef(SlurmDriver, 1);
00097 #pragma GCC diagnostic pop
00098 };
00099 }
00100
00101 #endif