X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=SHUTTLE%2FAliShuttleTrigger.h;h=e79f43251a71503b222b9b004e9ce20e7d693d1d;hp=8335066a2f9fcab231f7c9ce12659eddf8c97e29;hb=99d6db94795bfa9d990a0f3c04b3bb379784ef4a;hpb=7bfb20903909b5071bf3fb12acf008f5e0bdf15b diff --git a/SHUTTLE/AliShuttleTrigger.h b/SHUTTLE/AliShuttleTrigger.h index 8335066a2f9..e79f43251a7 100644 --- a/SHUTTLE/AliShuttleTrigger.h +++ b/SHUTTLE/AliShuttleTrigger.h @@ -18,7 +18,6 @@ #include -class AliCDBStorage; class AliShuttle; class AliShuttleConfig; @@ -30,33 +29,29 @@ class TerminateSignalHandler: public TSignalHandler { public: TerminateSignalHandler(): TSignalHandler((ESignals) 0,0), fTrigger(0) { } TerminateSignalHandler(AliShuttleTrigger* trigger, ESignals signal): - TSignalHandler(signal, kFALSE), fTrigger(trigger) {} + TSignalHandler(signal, kFALSE), fTrigger(trigger) {} virtual ~TerminateSignalHandler() { } virtual Bool_t Notify(); private: - - TerminateSignalHandler(const TerminateSignalHandler& other); - TerminateSignalHandler& operator= (const TerminateSignalHandler& other); - + TerminateSignalHandler(const TerminateSignalHandler& other); + TerminateSignalHandler& operator= (const TerminateSignalHandler& other); + AliShuttleTrigger* fTrigger; // pointer to the current AliShuttleTrigger ClassDef(TerminateSignalHandler, 0) }; class AliShuttleTrigger: public TObject { + public: - AliShuttleTrigger(const AliShuttleConfig* config, UInt_t timeout = 5000, Int_t retries = 5); + AliShuttleTrigger(const AliShuttleConfig* config); ~AliShuttleTrigger(); AliShuttle* GetShuttle() {return fShuttle;} - Bool_t Collect(Int_t run); - Bool_t CollectNew(); - Bool_t CollectAll(); - - Bool_t SetNewLastRun(Int_t run); + Bool_t Collect(Int_t run = -1); virtual Bool_t Notify(); void Terminate(); @@ -64,47 +59,26 @@ public: void Run(); private: - AliShuttleTrigger(const AliShuttleTrigger& other); AliShuttleTrigger& operator= (const AliShuttleTrigger& other); - class AliShuttleTriggerDATEEntry: public TObject { - public: - AliShuttleTriggerDATEEntry(Int_t run, UInt_t startTime, UInt_t endTime): - fRun(run), fStartTime(startTime), fEndTime(endTime) {} - - Int_t GetRun() const {return fRun;} - UInt_t GetStartTime() const {return fStartTime;} - UInt_t GetEndTime() const {return fEndTime;} - - private: - Int_t fRun; // Run number - UInt_t fStartTime; // Run start time - UInt_t fEndTime; // Run end time - ClassDef(AliShuttleTriggerDATEEntry, 0) - }; - - Bool_t RetrieveDATEEntries(const char* whereClause, TObjArray& entries); - Bool_t RetrieveConditionsData(const TObjArray& dateEntries, Bool_t updateLastRun); - - Bool_t ReadLastRun(); - Bool_t WriteLastRun(); + Bool_t SendMailDiskSpace(Short_t percentage); + void CheckTerminate(); const AliShuttleConfig* fConfig; - //AliCDBStorage* fLocalStorage; AliShuttle* fShuttle; // Pointer to the actual Shuttle instance Bool_t fNotified; // Notified flag Bool_t fTerminate; // Terminate flag - Int_t fLastRun; // last sucessfully processed run - TMutex fMutex; // Mutex TCondition fCondition; // Condition - TerminateSignalHandler fQuitSignalHandler; // Quit signal - TerminateSignalHandler fInterruptSignalHandler; // Interrupt signal + TerminateSignalHandler* fQuitSignalHandler; // Quit signal + TerminateSignalHandler* fInterruptSignalHandler; // Interrupt signal + + time_t fLastMailDiskSpace; // timestamp when the last mail was sent ClassDef(AliShuttleTrigger, 0)