TString totEventsStr = entry->GetRunParameter("totalEvents");
Int_t totEvents = totEventsStr.Atoi();
+ UInt_t now = time(0);
+ // TODO make this a configuration parameter
+ Int_t dcsDelay = 120;
+
// runs are accepted if they have ecsSuccess set or more than 1 event
- if (startTime != 0 && endTime != 0 && endTime > startTime && (totEvents > 1 || ecsSuccess))
+ if (startTime != 0 && endTime != 0 && endTime > startTime && (totEvents > 1 || ecsSuccess) && (endTime < now - dcsDelay))
{
if (ecsSuccess == kFALSE)
Log("SHUTTLE", Form("Processing run %d although in status ECS failure, Reason: %s", run, entry->GetRunParameter("eor_reason")));
{
Log("SHUTTLE", Form("QueryRunParameters - Run %d has 1 event or less - Skipping!", run));
skip = kTRUE;
- }
+ }
+ else if (endTime != 0 && endTime >= now - dcsDelay)
+ {
+ Log("SHUTTLE", Form("Skipping run %d for now, because DCS buffer time is not yet expired", run));
+ }
else
{
Log("SHUTTLE", Form("QueryRunParameters - Invalid parameters for Run %d: "
TString body;
if (target == kDCSEMail){
- subject = Form("%s Retrieval of data points for %s FAILED in run %d !",
+ subject = Form("%s CRITICAL Retrieval of data points for %s FAILED in run %d !",
tmpStr.Data(), fCurrentDetector.Data(), GetCurrentRun());
AliDebug(2, Form("subject: %s", subject.Data()));
"in run %d!!\n\n", fCurrentDetector.Data(), GetCurrentRun());
}
else if (target == kFXSEMail){
- subject = Form("%s FXS communication for %s FAILED in run %d !",
+ subject = Form("%s CRITICAL FXS communication for %s FAILED in run %d !",
tmpStr.Data(), fCurrentDetector.Data(), GetCurrentRun());
AliDebug(2, Form("subject: %s", subject.Data()));
TString sys;