ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/OSUT3Analysis/DBTools/scripts/osucrab
(Generate patch)

Comparing UserCode/OSUT3Analysis/DBTools/scripts/osucrab (file contents):
Revision 1.2 by ahart, Tue Jul 31 14:04:18 2012 UTC vs.
Revision 1.7 by ahart, Wed Dec 12 20:44:29 2012 UTC

# Line 5 | Line 5 | use Mysql;
5  
6   sub getWorkingDir;
7   sub dbUpdate;
8 + sub dbStatus;
9   sub dbReport;
10   sub dbInsert;
11   sub addSlashes;
# Line 23 | Line 24 | if ($arg =~ m/-create/)
24      my $dataset = getOption (\@crabCfg, "datasetpath");
25      my $psetName = getOption (\@crabCfg, "pset");
26      my $jsonFileName = getOption (\@crabCfg, "lumi_mask");
27 <    my $submissionLogName = getOption (\@crabCfg, "ui_working_dir");
27 <    $submissionLogName .= "/log/crab.log";
27 >    my $workingDir = getOption (\@crabCfg, "ui_working_dir");
28  
29      print "Ntuple format (BEAN): ";
30      my $format = <STDIN>;
# Line 38 | Line 38 | if ($arg =~ m/-create/)
38  
39      my $status = "created";
40      $status = "submitted" if $arg =~ m/-submit/;
41 <    my $results = dbInsert ($dataset, $ENV{"USER"}, $format, "", 0, 0, $status, $comment, $psetName, $crabCfgName, $jsonFileName, $submissionLogName);
41 >    my $results = dbInsert ($dataset, "$ENV{'USER'}\@$ENV{'HOSTNAME'}", $format, "", 0, 0, $status, $comment, $psetName, $crabCfgName, $jsonFileName, $workingDir);
42    }
43   elsif ($arg =~ m/-submit/)
44    {
45      my $workingDir = getWorkingDir (\@ARGV);
46 <    open (ID_FILE, "<$workingDir/log/.osuID");
47 <    my $id = <ID_FILE>;
48 <    close (ID_FILE);
49 <    $id =~ s/(.*)\n/$1/;
50 <    my $submissionLogName = $workingDir . "/log/crab.log";
46 >    my $id = -1;
47 >    if (-e "$workingDir/log/.osuID")
48 >      {
49 >        open (ID_FILE, "<$workingDir/log/.osuID");
50 >        $id = <ID_FILE>;
51 >        close (ID_FILE);
52 >        $id =~ s/(.*)\n/$1/;
53 >      }
54  
55      system ("crab $arg");
56  
57 <    my $results = dbUpdate ($id, "submitted", $submissionLogName);
57 >    my $results = dbUpdate ($id, "submitted", "$ENV{'USER'}\@$ENV{'HOSTNAME'}") if $id > -1;
58    }
59   elsif ($arg =~ m/-report/)
60    {
61      my $workingDir = getWorkingDir (\@ARGV);
62 <    open (ID_FILE, "<$workingDir/log/.osuID");
63 <    my $id = <ID_FILE>;
64 <    close (ID_FILE);
65 <    $id =~ s/(.*)\n/$1/;
62 >    my $id = -1;
63 >    if (-e "$workingDir/log/.osuID")
64 >      {
65 >        open (ID_FILE, "<$workingDir/log/.osuID");
66 >        $id = <ID_FILE>;
67 >        close (ID_FILE);
68 >        $id =~ s/(.*)\n/$1/;
69 >      }
70      my $lumiSummaryName = $workingDir . "/res/lumiSummary.json";
71  
72      system ("crab $arg");
73  
74 <    my $results = dbReport ($id, "complete", $lumiSummaryName);
74 >    my $results = dbReport ($id, "complete", $lumiSummaryName, "$ENV{'USER'}\@$ENV{'HOSTNAME'}") if $id > -1;
75 >  }
76 > elsif ($arg =~ m/-status/)
77 >  {
78 >    my $workingDir = getWorkingDir (\@ARGV);
79 >    my $id = -1;
80 >    if (-e "$workingDir/log/.osuID")
81 >      {
82 >        open (ID_FILE, "<$workingDir/log/.osuID");
83 >        $id = <ID_FILE>;
84 >        close (ID_FILE);
85 >        $id =~ s/(.*)\n/$1/;
86 >      }
87 >    my $currentStatusName = "$workingDir/log/.currentStatus";
88 >    unlink ($currentStatusName) if -e $currentStatusName;
89 >    system ("crab $arg | tee $currentStatusName");
90 >    my $results = dbStatus ($id, $currentStatusName, "$ENV{'USER'}\@$ENV{'HOSTNAME'}") if $id > -1;
91 >    unlink ($currentStatusName);
92    }
93   else
94    {
# Line 125 | Line 149 | sub
149   dbInsert
150   {
151    my $dataset = shift;
152 <  my $user = shift;
152 >  my $userAndHost = shift;
153    my $format = shift;
154    my $location = shift;
155    my $nFiles = shift;
# Line 135 | Line 159 | dbInsert
159    my $psetName = shift;
160    my $crabCfgName = shift;
161    my $jsonFileName = shift;
162 <  my $submissionLogName = shift;
162 >  my $workingDir = shift;
163 >
164 >  my $user = $userAndHost;
165 >  $user =~ s/@.*$//;
166  
167    open (PY_CONFIG, "<$psetName");
168    my @pset = <PY_CONFIG>;
# Line 149 | Line 176 | dbInsert
176    my @jsonFile = <JSON_FILE>;
177    close (JSON_FILE);
178    my $jsonFile = join ("", @jsonFile);
152  open (SUBMISSION_LOG, "<$submissionLogName");
153  my @submissionLog = <SUBMISSION_LOG>;
154  close (SUBMISSION_LOG);
155  my $submissionLog = join ("", @submissionLog);
179  
180    $dataset = addSlashes ($dataset);
181    $user = addSlashes ($user);
# Line 160 | Line 183 | dbInsert
183    $pset = addSlashes ($pset);
184    $crabCfg = addSlashes ($crabCfg);
185    $jsonFile = addSlashes ($jsonFile);
163  $submissionLog = addSlashes ($submissionLog);
186    $location = addSlashes ($location);
187    $status = addSlashes ($status);
188    $comment = addSlashes ($comment);
# Line 173 | Line 195 | dbInsert
195    my $id = 1;
196    $id = $row[0] + 1 if $results->numrows ();
197  
176  my $workingDir = $submissionLogName;
177  $workingDir =~ s/(.*)\/log\/crab\.log/$1/;
198    open (ID_FILE, ">$workingDir/log/.osuID");
199    print ID_FILE "$id\n";
200    close (ID_FILE);
201  
202 <  $query = "insert into ntuple (id, dataset, creationTime, lastUpdateTime, user, format, location, nFiles, sizeInGB, status, comment, pset, crabCfg, jsonFile, submissionLog) values ($id, '$dataset', now(), now(), '$user', '$format', '$location', $nFiles, $sizeInGB, '$status', '$comment', '$pset', '$crabCfg', '$jsonFile', '$submissionLog')";
202 >  $query = "insert into ntuple (id, dataset, creationTime, lastUpdateTime, lastUpdateUser, user, format, location, nFiles, sizeInGB, status, comment, pset, crabCfg, jsonFile) values ($id, '$dataset', now(), now(), '$userAndHost', '$user', '$format', '$location', $nFiles, $sizeInGB, '$status', '$comment', '$pset', '$crabCfg', '$jsonFile')";
203    $results = $db->query ($query);
204  
205    return $results;
# Line 190 | Line 210 | dbUpdate
210   {
211    my $id = shift;
212    my $status = shift;
213 <  my $submissionLogName = shift;
194 <
195 <  open (SUBMISSION_LOG, "<$submissionLogName");
196 <  my @submissionLog = <SUBMISSION_LOG>;
197 <  close (SUBMISSION_LOG);
198 <  my $submissionLog = join ("", @submissionLog);
213 >  my $user = shift;
214  
200  $submissionLog = addSlashes ($submissionLog);
215    $status = addSlashes ($status);
216 +  $user = addSlashes ($user);
217  
218    my $results;
219 <  my $query = "update ntuple set lastUpdateTime=now(), status='$status', submissionLog='$submissionLog' where id=$id";
219 >  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', status='$status' where id=$id";
220 >  $db->selectdb ("ntuple");
221 >  $results = $db->query ($query);
222 >
223 >  return $results;
224 > }
225 >
226 > sub
227 > dbStatus
228 > {
229 >  my $id = shift;
230 >  my $currentStatusName = shift;
231 >  my $user = shift;
232 >
233 >  open (CURRENT_STATUS, "<$currentStatusName");
234 >  my @currentStatus = <CURRENT_STATUS>;
235 >  close (CURRENT_STATUS);
236 >  my $currentStatus = join ("", @currentStatus);
237 >
238 >  $currentStatus = addSlashes ($currentStatus);
239 >  $user = addSlashes ($user);
240 >
241 >  my $results;
242 >  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', currentStatus='$currentStatus' where id=$id";
243    $db->selectdb ("ntuple");
244    $results = $db->query ($query);
245  
# Line 214 | Line 252 | dbReport
252    my $id = shift;
253    my $status = shift;
254    my $lumiSummaryName = shift;
255 +  my $user = shift;
256  
257    open (LUMI_SUMMARY, "<$lumiSummaryName");
258    my @lumiSummary = <LUMI_SUMMARY>;
# Line 222 | Line 261 | dbReport
261  
262    $lumiSummary = addSlashes ($lumiSummary);
263    $status = addSlashes ($status);
264 +  $user = addSlashes ($user);
265  
266    my $results;
267 <  my $query = "update ntuple set lastUpdateTime=now(), status='$status', lumiSummary='$lumiSummary' where id=$id";
267 >  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', status='$status', lumiSummary='$lumiSummary' where id=$id";
268    $db->selectdb ("ntuple");
269    $results = $db->query ($query);
270  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines