00001
00002 #ifndef EVENT_LOOP_GRID_DRIVER_H
00003 #define EVENT_LOOP_GRID_DRIVER_H
00004
00005 #include "EventLoop/Driver.h"
00006
00007 namespace SH {
00008 class SampleGrid;
00009 class MetaObject;
00010 }
00011
00012 namespace EL {
00013
00014 std::string getRootCoreConfig ();
00015
00016 class GridDriver : public Driver {
00017
00018 public:
00019
00020 GridDriver ();
00021
00022 void testInvariant () const;
00023
00024 virtual void doSubmit(const Job& job, const std::string& location) const;
00025
00026 virtual bool doRetrieve(const std::string& location) const;
00027
00028 static void status(const std::string& location);
00029
00030 static void status();
00031
00032 static void kill(const std::string& location);
00033
00034 static void killAll();
00035
00036 static std::string listActive();
00037
00038 static void reset();
00039
00040 static bool startServer();
00041
00042 static bool stopServer();
00043
00044 std::string outputSampleName;
00045 bool express;
00046 bool mergeOutput;
00047 std::string destSE;
00048 std::string site;
00049 std::string cloud;
00050 int memory;
00051 int maxCpuCount;
00052 int nFiles;
00053 int nFilesPerJob;
00054 int nJobs;
00055 int nMinorRetries;
00056 int nMajorRetries;
00057 float nGBPerJob;
00058 std::string workDir;
00059 std::string extFile;
00060 std::string excludedSite;
00061 std::string rootVer;
00062 std::string cmtConfig;
00063
00064 static std::string gangaLogFile;
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080 void gather(const std::string location) const;
00081 SH::SampleGrid* createSampleFromDQ2(const std::string& dataset) const;
00082
00083 ClassDef(EL::GridDriver, 1);
00084 };
00085 }
00086
00087 #endif