public:
enum DCSType {kAlias=0, kDP};
enum TestMode { kNone = 0, kSkipDCS = 1, kErrorDCS = 2, kErrorFXSSources = 4, kErrorFXSFiles = 8, kErrorOCDB = 16, kErrorStorage = 32, kErrorGrid = 64 };
+ enum EMailTarget { kDCSEMail = 0, kFXSEMail, kPPEMail };
AliShuttle(const AliShuttleConfig* config, UInt_t timeout = 5000, Int_t retries = 5);
virtual ~AliShuttle();
Int_t GetCurrentRun() const;
UInt_t GetCurrentStartTime() const;
UInt_t GetCurrentEndTime() const;
+ UInt_t GetCurrentYear() const;
+
+ const char* GetLHCPeriod() const;
virtual Bool_t Store(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData,
Int_t validityStart = 0, Bool_t validityInfinite = kFALSE);
virtual Bool_t StoreReferenceData(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData);
virtual Bool_t StoreReferenceFile(const char* detector, const char* localFile, const char* gridFileName);
+ virtual Bool_t StoreRunMetadataFile(const char* localFile, const char* gridFileName);
virtual const char* GetFile(Int_t system, const char* detector,
const char* id, const char* source);
virtual TList* GetFileSources(Int_t system, const char* detector, const char* id = 0);
AliShuttleLogbookEntry* QueryRunParameters(Int_t run);
Bool_t QueryShuttleLogbook(const char* whereClause, TObjArray& entries);
+ void CountOpenRuns();
Bool_t RetrieveConditionsData(const TObjArray& shuttleLogbookEntries);
- Bool_t GetValueSet(const char* host, Int_t port, const char* alias,
- TObjArray* result, DCSType type);
TMap* GetValueSet(const char* host, Int_t port, const TSeqCollection* entries,
- DCSType type);
+ DCSType type, Int_t valueSet);
Bool_t RetrieveFile(UInt_t system, const char* daqFileName, const char* localFileName);
AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE);
Bool_t StoreOCDB();
- Bool_t StoreOCDB(const TString& uri);
- Bool_t StoreRefFilesToGrid();
+ Int_t StoreOCDB(const TString& uri);
+ Bool_t CopyFileLocally(const char* localFile, const TString& target);
+ Bool_t CopyFilesToGrid(const char* type);
void CleanLocalStorage(const TString& uri);
Bool_t CleanReferenceStorage(const char* detector);
void RemoveFile(const char* filename);
Bool_t ContinueProcessing();
void UpdateShuttleStatus(AliShuttleStatus::Status newStatus, Bool_t increaseCount = kFALSE);
Bool_t UpdateShuttleLogbook(const char* detector, const char* status=0);
- Bool_t SendMail();
+ Bool_t SendMail(EMailTarget target, Int_t system = -1);
TString GetLogFileName(const char* detector) const;
void SetLastAction(const char* action);
+ void SendAlive();
void SendMLInfo();
const AliShuttleConfig* fConfig; // pointer to configuration object
AliShuttleLogbookEntry* fLogbookEntry; //! current Shuttle logbook entry
TString fCurrentDetector; // current detector
+ Bool_t fFirstProcessing; // processing this detector the first time in this run
TSQLServer *fServer[4]; // pointer to the three FXS + Run & Shuttle logbook servers
Bool_t fFXSCalled[3]; // FXS call status
TList fFXSlist[3]; // List of files retrieved from each FXS
+ Int_t fFXSError; // Variable to keep track of any FXS errors; contains -1 for no error, kDAQ, kDCS, kHLT otherwise
AliCDBEntry* fStatusEntry; // last CDB entry containing a AliShuttleStatus retrieved