fPreprocessorMap(),
fLogbookEntry(0),
fCurrentDetector(),
+fFirstProcessing(0),
fStatusEntry(0),
fMonitoringMutex(0),
fLastActionTime(0),
// checks if the processing should be continued
// if yes it returns kTRUE and updates the AliShuttleStatus with nextStatus
- if (!fConfig->HostProcessDetector(fCurrentDetector)) return kFALSE;
+ if (!fConfig->HostProcessDetector(fCurrentDetector))
+ return kFALSE;
AliPreprocessor* aPreprocessor =
dynamic_cast<AliPreprocessor*> (fPreprocessorMap.GetValue(fCurrentDetector));
}
}
+ // Is the subdetector processed first time for this run?
+ fFirstProcessing = kFALSE;
+
AliShuttleStatus* status = ReadShuttleStatus();
if (!status) {
// first time
Log("SHUTTLE", Form("ContinueProcessing - %s: Processing first time",
fCurrentDetector.Data()));
status = new AliShuttleStatus(AliShuttleStatus::kStarted);
+ fFirstProcessing = kTRUE;
return WriteShuttleStatus(status);
}
// Send mail to detector expert!
Log("SHUTTLE", Form("ContinueProcessing - Sending mail to %s expert...",
- fCurrentDetector.Data()));
+ fCurrentDetector.Data()));
if (!SendMail())
Log("SHUTTLE", Form("ContinueProcessing - Could not send mail to %s expert",
- fCurrentDetector.Data()));
+ fCurrentDetector.Data()));
} else {
Log("SHUTTLE", Form("ContinueProcessing - %s: restarting. "
if (fileSize.Length()>0)
{
// compare filesize of local file with the one stored in the FXS DB
- Long_t id,size,flags,mtime;
- Int_t sizeComp = gSystem->GetPathInfo(localFileName.Data(),&id,&size,&flags,&mtime);
+ Long_t size = -1;
+ Int_t sizeComp = gSystem->GetPathInfo(localFileName.Data(), 0, &size, 0, 0);
- if ( sizeComp != 0 || size != fileSize.Atoi())
+ if (sizeComp != 0 || size != fileSize.Atoi())
{
Log(detector, Form("GetFileName - size of file %s does not match with local copy!",
filePath.Data()));
if (fTestMode != kNone)
return kTRUE;
- if (!fConfig->SendMail()) return kTRUE;
+ if (!fConfig->SendMail())
+ return kTRUE;
TString to="";
TIter iterExperts(fConfig->GetResponsibles(fCurrentDetector));
if (fTestMode != kNone)
return kTRUE;
- if (!fConfig->SendMail()) return kTRUE;
+ if (!fConfig->SendMail())
+ return kTRUE;
+
+ if (!fFirstProcessing)
+ return kTRUE;
void* dir = gSystem->OpenDirectory(GetShuttleLogDir());
if (dir == NULL)
-# SDD config
dn: det=SDD,o=shuttle_prod,dc=cern,dc=ch
objectClass: top
objectClass: detectorConfig
dcsHost: alidcsamanda.cern.ch
dcsPort: 1337
multiSplit: 4000
+dcsAlias: SDD_LAYER3_LADDER[00..05]_MODULE[0..5]_HV
+dcsAlias: SDD_LAYER4_LADDER[00..11]_MODULE[0..7]_HV
+dcsAlias: SDD_LAYER3_LADDER[00..05]_MODULE[0..5]_MV
+dcsAlias: SDD_LAYER4_LADDER[00..11]_MODULE[0..7]_MV
+dcsAlias: SDD_LAYER3_LADDER[00..13]_MODULE[0..5]_TEMP_L
+dcsAlias: SDD_LAYER3_LADDER[00..13]_MODULE[0..5]_TEMP_R
+dcsAlias: SDD_LAYER4_LADDER[00..21]_MODULE[0..7]_TEMP_L
+dcsAlias: SDD_LAYER4_LADDER[00..21]_MODULE[0..7]_TEMP_R
+dcsAlias: SDD_LAYER3_LADDER[00..13]_MODULE[0..5]_OK
+dcsAlias: SDD_LAYER4_LADDER[00..21]_MODULE[0..7]_OK
+dcsAlias: SDD_LAYER3_LADDER[00..13]_MODULE[0..5]_TEMP_L_STATE
+dcsAlias: SDD_LAYER3_LADDER[00..13]_MODULE[0..5]_TEMP_R_STATE
+dcsAlias: SDD_LAYER4_LADDER[00..21]_MODULE[0..7]_TEMP_L_STATE
+dcsAlias: SDD_LAYER4_LADDER[00..21]_MODULE[0..7]_TEMP_R_STATE
+