Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cwb_condor_cleanup.C
Go to the documentation of this file.
1 // remove broken symbolic links in condor log dir (avoid init condor failure)
2 // to be used when jobs are in held status
3 
4 {
5  #include <vector>
6 
8 
9  TB.checkFile(gSystem->Getenv("CWB_ROOTLOGON_FILE"));
10  TB.checkFile(gSystem->Getenv("CWB_PARAMETERS_FILE"));
11  TB.checkFile(gSystem->Getenv("CWB_UPARAMETERS_FILE"));
12 
13  // condor log dirs
14  char full_condor_log_dir[1024];
15  sprintf(full_condor_log_dir,"%s/%s",work_dir,log_dir);
16 
17  vector<TString> fileList = TB.getFileListFromDir(full_condor_log_dir, "", "","",true);
18 
19  int cnt=0;
20  char cmd[1024];
21  for(int i=0;i<fileList.size();i++) {
22  TString path;
23  Long_t id,size,flags,mt;
24  path = CWB::Toolbox::getFileName(fileList[i].Data());
25  if(path!="") {
26  int estat = gSystem->GetPathInfo(path.Data(),&id,&size,&flags,&mt);
27  if(estat!=0) { // condor log out,err symbolic link is broken
28  sprintf(cmd,"rm -f %s",fileList[i].Data());
29  gSystem->Exec(cmd);
30  cnt++;
31  }
32  }
33  }
34  cout << endl;
35  cout << "Cleaned condor log files : " << cnt << endl;
36  cout << endl;
37 
38  gSystem->Exit(0);
39 }
static vector< TString > getFileListFromDir(TString dir_name, TString endString="", TString beginString="", TString containString="", bool fast=false)
Definition: Toolbox.cc:4333
char cmd[1024]
TString("c")
Long_t flags
vector< TString > fileList
Long_t size
i drho i
static bool checkFile(TString fName, bool question=false, TString message="")
Definition: Toolbox.cc:3956
CWB::Toolbox TB
Definition: ComputeSNR.C:5
char log_dir[512]
Definition: test_config1.C:151
int estat
int cnt
Long_t mt
char full_condor_log_dir[1024]
static TString getFileName(FILE *fp)
Definition: Toolbox.cc:5996
Long_t id
char work_dir[512]
Definition: test_config1.C:143
sprintf(full_condor_log_dir,"%s/%s", work_dir, log_dir)