Updated version of the Test TPC toolkits (Marian)
[u/mrichter/AliRoot.git] / TPC / macros / testTPC / AliTPCjobs.cxx
index 43d7f6fc0c26d3a7c1b76786d28bf28b37937cd3..08a23ce525f3fe2bd46a733ccb52b22aaa57b407 100644 (file)
@@ -1,13 +1,30 @@
-#include <fstream>
-#include <TFile.h>
-#include <TSystem.h>
+//#include <fstream>
+//#include <TFile.h>
+//#include <TSystem.h>
+
 
 /*
+
+  Process all jobs specified in the job.list file
+  Concurent agents acces the list
+  Once starting to procces given job the jonb is locked 
+
+*/
+
+
+
+/*
+
+
 .L $ALICE_ROOT/TPC/macros/testTPC/AliTPCjobs.cxx+
+
 AliTPCJobs jobs;
 jobs.fJobFile="job.list"
 jobs.ProcessAllJobs();
 */
+
+
 class AliTPCJobs : public TNamed{
 public:
   AliTPCJobs();
@@ -49,18 +66,21 @@ void AliTPCJobs::ProcessAllJobs(){
 
 
 Bool_t AliTPCJobs::GetNextJob(){
-  ifstream in;
-  in.open(fJobFile);
+  //
+  // GetNextJob  - get job from the list which is not locked
+  //
+  ifstream ins;
+  ins.open(fJobFile);
   TString id;
   TString inputData;
   TString outputDir;
   TString action;
   Bool_t hasJob=kFALSE;
-  while(in.good()) {
-    in>>id;
-    in>>inputData;
-    in>>outputDir;
-    in>>action;
+  while(ins.good()) {
+    ins>>id;
+    ins>>inputData;
+    ins>>outputDir;
+    ins>>action;
     if (!IsLocked(id)){
       hasJob=kTRUE;
       break;
@@ -103,7 +123,7 @@ void AliTPCJobs::ProcessJob(TString jobID, TString inputData, TString outputDir,
   SetLock(jobID);
   if (action.Contains("COPY")){
     char command[10000];
-      sprintf(command,"xrdcp -d 1 -DIFirstConnectMaxCnt 2 -DIConnectTimeout 2 -DIRequestTimeout 2 -DIMaxRedirectcount 2 -DIRedirCntTimeout 2 %s\t%s\n",inputData.Data(), outputDir.Data());
+      sprintf(command,"xrdcp  -DIFirstConnectMaxCnt 4 -DIConnectTimeout 4 -DIRequestTimeout 4 -DIMaxRedirectcount 4 -DIRedirCntTimeout 4 %s\t%s\n",inputData.Data(), outputDir.Data());
     printf("Exec\t%s\n", command);
     gSystem->Exec(command);
     //TFile::Cp(inputData.Data(), outputDir.Data());
@@ -118,3 +138,14 @@ void AliTPCJobs::ProcessJob(TString jobID, TString inputData, TString outputDir,
   
   SetDone(jobID);
 }
+
+
+
+void AliTPCjobs(){
+  //
+  //
+  //
+  AliTPCJobs jobs;
+  jobs.fJobFile="job.list";
+  jobs.ProcessAllJobs();
+}