Adding DCS Query Offset and DCS Delay as parameters in the
authorzampolli <zampolli@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 18 Sep 2008 20:29:41 +0000 (20:29 +0000)
committerzampolli <zampolli@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 18 Sep 2008 20:29:41 +0000 (20:29 +0000)
Shuttle configuration. Method added to retrieve start time and
end time of the DCS query for the Preprocessors.

SHUTTLE/AliShuttle.cxx
SHUTTLE/AliShuttle.h
SHUTTLE/AliShuttleConfig.cxx
SHUTTLE/AliShuttleConfig.h
SHUTTLE/schema/Global.ldif
STEER/AliPreprocessor.cxx
STEER/AliPreprocessor.h
STEER/AliShuttleInterface.h

index 40c2620..c741a63 100644 (file)
@@ -1974,7 +1974,7 @@ AliShuttleLogbookEntry* AliShuttle::QueryRunParameters(Int_t run)
        
        UInt_t now = time(0);
        // TODO make this a configuration parameter
-       Int_t dcsDelay = 120+180;
+       Int_t dcsDelay = fConfig->GetDCSDelay()+fConfig->GetDCSQueryOffset();
        
        // runs are accepted if they have ecsSuccess set or more than 1 event
        if (startTime != 0 && endTime != 0 && endTime > startTime && (totEvents > 1 || ecsSuccess) && (endTime < now - dcsDelay))
@@ -2032,7 +2032,7 @@ TMap* AliShuttle::GetValueSet(const char* host, Int_t port, const TSeqCollection
        // returns TMap of values, 0 when failure
        
        AliDCSClient client(host, port, fTimeout, fRetries, multiSplit);
-       Int_t offset = 180;
+       UInt_t offset = fConfig->GetDCSQueryOffset();
 
        TMap* result = 0;
        if (type == kAlias)
@@ -3519,5 +3519,23 @@ Bool_t AliShuttle::TouchFile()
        Log("SHUTTLE", "Sucessfully touched the file");
        return kTRUE;
 }
+//______________________________________________________________________________________________
+const UInt_t AliShuttle::GetStartTimeDCSQuery()
+{
+       // Return Start Time for the DCS query
+       //
+       // The call is delegated to AliShuttleInterface
+
+       return GetCurrentTimeCreated()-fConfig->GetDCSQueryOffset();
+}
+//______________________________________________________________________________________________
+const UInt_t AliShuttle::GetEndTimeDCSQuery()
+{
+       // Return End Time for the DCS query
+       //
+       // The call is delegated to AliShuttleInterface
+
+       return GetCurrentEndTime()+fConfig->GetDCSQueryOffset();
+}
 
 
index ae83baf..555ad22 100644 (file)
@@ -66,6 +66,8 @@ public:
        virtual TList* GetFileSources(Int_t system, const char* detector, const char* id = 0);
        virtual TList* GetFileIDs(Int_t system, const char* detector, const char* source);
        virtual const char* GetRunParameter(const char* lbEntry);
+       virtual const UInt_t GetStartTimeDCSQuery();
+       virtual const UInt_t GetEndTimeDCSQuery();
        virtual AliCDBEntry* GetFromOCDB(const char* detector, const AliCDBPath& path);
        virtual const char* GetRunType();
        virtual Bool_t GetHLTStatus();
index be77a02..da8998b 100644 (file)
@@ -668,6 +668,8 @@ AliShuttleConfig::AliShuttleConfig(const char* host, Int_t port,
        fPPTimeOut(0), 
        fDCSTimeOut(0), 
        fDCSRetries(0), 
+       fDCSQueryOffset(0),
+       fDCSDelay(0),
        fPPMaxMem(0), 
        fMonitorHost(""), 
        fMonitorTable(""), 
@@ -1136,6 +1138,22 @@ UInt_t AliShuttleConfig::SetGlobalConfig(TList* list)
        tmpStr = anAttribute->GetValue();
        fDCSRetries = tmpStr.Atoi();
 
+       anAttribute = anEntry->GetAttribute("DCSQueryOffset");
+       if (!anAttribute) {
+               AliError("Can't find DCSQueryOffset attribute!");
+               return 4;
+       }
+       tmpStr = anAttribute->GetValue();
+       fDCSQueryOffset = tmpStr.Atoi();
+
+       anAttribute = anEntry->GetAttribute("DCSDelay");
+       if (!anAttribute) {
+               AliError("Can't find DCSDelay attribute!");
+               return 4;
+       }
+       tmpStr = anAttribute->GetValue();
+       fDCSDelay = tmpStr.Atoi();
+
        anAttribute = anEntry->GetAttribute("ppMaxMem");
        if (!anAttribute) {
                AliError("Can't find ppMaxMem attribute!");
index a296be7..af9417f 100644 (file)
@@ -67,6 +67,8 @@ public:
        Int_t GetPPTimeOut() const { return fPPTimeOut; }
        Int_t GetDCSTimeOut() const { return fDCSTimeOut; }
        Int_t GetDCSRetries() const { return fDCSRetries; }
+       UInt_t GetDCSQueryOffset() const { return fDCSQueryOffset; }
+       UInt_t GetDCSDelay() const { return fDCSDelay; }
        Int_t GetPPMaxMem() const { return fPPMaxMem; }
 
        Bool_t KeepDCSMap() const { return fKeepDCSMap; }
@@ -219,6 +221,9 @@ private:
        Int_t fPPTimeOut;               // timeout until a preprocessor is killed
        Int_t fDCSTimeOut;              // timeout until the query to DCS is terminated
        Int_t fDCSRetries;              // number of retries until the query to DCS connection is terminated
+       UInt_t fDCSQueryOffset;         // offset for the DCS DPs query, to be subracted from the StartTime and
+                                       // added to the EndTime
+       UInt_t fDCSDelay;               // delay to make the query to DCS
        Int_t fPPMaxMem;                // maximum allowed memory until a preprocessor is killed
        
        TString fMonitorHost;           // host of the MonaLisa monitoring server
index bec1410..d1ab897 100644 (file)
@@ -24,4 +24,6 @@ ppTimeOut: 1200
 sendMail: 1
 passwdFilePath: /home/shuttle/.shuttle
 AliEnPath: /alice/testdata/
+DCSQueryOffset: 180
+DCSDelay: 120
 
index 048696e..6b9c54d 100644 (file)
@@ -408,3 +408,22 @@ Bool_t AliPreprocessor::AliPreprocessor::ProcessRunType()
        Log("Run type not found. Skipping this run.");
        return kFALSE;
 }
+//______________________________________________________________________________________________
+const UInt_t AliPreprocessor::GetStartTimeDCSQuery()
+{
+       // Return Start Time for the DCS query
+       //
+       // The call is delegated to AliShuttleInterface
+
+       return fShuttle->GetStartTimeDCSQuery();
+}
+//______________________________________________________________________________________________
+const UInt_t AliPreprocessor::GetEndTimeDCSQuery()
+{
+       // Return End Time for the DCS query
+       //
+       // The call is delegated to AliShuttleInterface
+
+       return fShuttle->GetEndTimeDCSQuery();
+}
+
index 6bd861e..05220ae 100644 (file)
@@ -54,6 +54,8 @@ class AliPreprocessor : public TNamed
     Bool_t GetHLTStatus();
     const char* GetTriggerConfiguration();
     void Log(const char* message);
+    const UInt_t GetStartTimeDCSQuery();
+    const UInt_t GetEndTimeDCSQuery();
     
     void AddRunType(const char* runType);
 
index cd12315..3469cff 100644 (file)
@@ -37,6 +37,8 @@ class AliShuttleInterface : public TObject
     virtual TList* GetFileIDs(Int_t system, const char* detector, const char* source) = 0;
     
     virtual const char* GetRunParameter(const char* lbEntry) = 0;
+    virtual const UInt_t GetStartTimeDCSQuery() = 0;
+    virtual const UInt_t GetEndTimeDCSQuery() = 0;
     virtual const char* GetRunType() = 0;
     virtual Bool_t GetHLTStatus() = 0;
     virtual const char* GetTriggerConfiguration() = 0;