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.3 by ahart, Tue Aug 7 18:10:18 2012 UTC vs.
Revision 1.8 by ahart, Wed Dec 12 21:38:19 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;
12   sub getOption;
13 + sub deleteEntry;
14  
15   our $db = Mysql->connect ("cmshead.mps.ohio-state.edu", "ntuple", "osuT3User") or die "Failed to connect to Tier 3, stopped";
16  
# Line 23 | Line 25 | if ($arg =~ m/-create/)
25      my $dataset = getOption (\@crabCfg, "datasetpath");
26      my $psetName = getOption (\@crabCfg, "pset");
27      my $jsonFileName = getOption (\@crabCfg, "lumi_mask");
28 <    my $submissionLogName = getOption (\@crabCfg, "ui_working_dir");
27 <    $submissionLogName .= "/log/crab.log";
28 >    my $workingDir = getOption (\@crabCfg, "ui_working_dir");
29  
30      print "Ntuple format (BEAN): ";
31      my $format = <STDIN>;
# Line 38 | Line 39 | if ($arg =~ m/-create/)
39  
40      my $status = "created";
41      $status = "submitted" if $arg =~ m/-submit/;
42 <    my $results = dbInsert ($dataset, $ENV{"USER"}, $format, "", 0, 0, $status, $comment, $psetName, $crabCfgName, $jsonFileName, $submissionLogName);
42 >    my $results = dbInsert ($dataset, "$ENV{'USER'}\@$ENV{'HOSTNAME'}", $format, "", 0, 0, $status, $comment, $psetName, $crabCfgName, $jsonFileName, $workingDir);
43    }
44   elsif ($arg =~ m/-submit/)
45    {
# Line 51 | Line 52 | elsif ($arg =~ m/-submit/)
52          close (ID_FILE);
53          $id =~ s/(.*)\n/$1/;
54        }
54    my $submissionLogName = $workingDir . "/log/crab.log";
55  
56      system ("crab $arg");
57  
58 <    my $results = dbUpdate ($id, "submitted", $submissionLogName) if $id > -1;
58 >    my $results = dbUpdate ($id, "submitted", "$ENV{'USER'}\@$ENV{'HOSTNAME'}") if $id > -1;
59    }
60   elsif ($arg =~ m/-report/)
61    {
# Line 64 | Line 64 | elsif ($arg =~ m/-report/)
64      if (-e "$workingDir/log/.osuID")
65        {
66          open (ID_FILE, "<$workingDir/log/.osuID");
67 <        my $id = <ID_FILE>;
67 >        $id = <ID_FILE>;
68          close (ID_FILE);
69          $id =~ s/(.*)\n/$1/;
70        }
# Line 72 | Line 72 | elsif ($arg =~ m/-report/)
72  
73      system ("crab $arg");
74  
75 <    my $results = dbReport ($id, "complete", $lumiSummaryName) if $id > -1;
75 >    my $results = dbReport ($id, "complete", $lumiSummaryName, "$ENV{'USER'}\@$ENV{'HOSTNAME'}") if $id > -1;
76 >  }
77 > elsif ($arg =~ m/-status/)
78 >  {
79 >    my $workingDir = getWorkingDir (\@ARGV);
80 >    my $id = -1;
81 >    if (-e "$workingDir/log/.osuID")
82 >      {
83 >        open (ID_FILE, "<$workingDir/log/.osuID");
84 >        $id = <ID_FILE>;
85 >        close (ID_FILE);
86 >        $id =~ s/(.*)\n/$1/;
87 >      }
88 >    my $currentStatusName = "$workingDir/log/.currentStatus";
89 >    unlink ($currentStatusName) if -e $currentStatusName;
90 >    system ("crab $arg | tee $currentStatusName");
91 >    my $results = dbStatus ($id, $currentStatusName, "$ENV{'USER'}\@$ENV{'HOSTNAME'}") if $id > -1;
92 >    unlink ($currentStatusName);
93 >  }
94 > elsif ($arg =~ m/-kill/)
95 >  {
96 >    my $workingDir = getWorkingDir (\@ARGV);
97 >    my $id = -1;
98 >    if (-e "$workingDir/log/.osuID")
99 >      {
100 >        open (ID_FILE, "<$workingDir/log/.osuID");
101 >        $id = <ID_FILE>;
102 >        close (ID_FILE);
103 >        $id =~ s/(.*)\n/$1/;
104 >      }
105 >
106 >    print "Are you cancelling this task? (y/N): ";
107 >    my $response = <STDIN>;
108 >    deleteEntry ($id) if lc ($response) eq "y";
109 >    system ("crab $arg");
110    }
111   else
112    {
# Line 133 | Line 167 | sub
167   dbInsert
168   {
169    my $dataset = shift;
170 <  my $user = shift;
170 >  my $userAndHost = shift;
171    my $format = shift;
172    my $location = shift;
173    my $nFiles = shift;
# Line 143 | Line 177 | dbInsert
177    my $psetName = shift;
178    my $crabCfgName = shift;
179    my $jsonFileName = shift;
180 <  my $submissionLogName = shift;
180 >  my $workingDir = shift;
181 >
182 >  my $user = $userAndHost;
183 >  $user =~ s/@.*$//;
184  
185    open (PY_CONFIG, "<$psetName");
186    my @pset = <PY_CONFIG>;
# Line 157 | Line 194 | dbInsert
194    my @jsonFile = <JSON_FILE>;
195    close (JSON_FILE);
196    my $jsonFile = join ("", @jsonFile);
160  open (SUBMISSION_LOG, "<$submissionLogName");
161  my @submissionLog = <SUBMISSION_LOG>;
162  close (SUBMISSION_LOG);
163  my $submissionLog = join ("", @submissionLog);
197  
198    $dataset = addSlashes ($dataset);
199    $user = addSlashes ($user);
# Line 168 | Line 201 | dbInsert
201    $pset = addSlashes ($pset);
202    $crabCfg = addSlashes ($crabCfg);
203    $jsonFile = addSlashes ($jsonFile);
171  $submissionLog = addSlashes ($submissionLog);
204    $location = addSlashes ($location);
205    $status = addSlashes ($status);
206    $comment = addSlashes ($comment);
# Line 181 | Line 213 | dbInsert
213    my $id = 1;
214    $id = $row[0] + 1 if $results->numrows ();
215  
184  my $workingDir = $submissionLogName;
185  $workingDir =~ s/(.*)\/log\/crab\.log/$1/;
216    open (ID_FILE, ">$workingDir/log/.osuID");
217    print ID_FILE "$id\n";
218    close (ID_FILE);
219  
220 <  $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')";
220 >  $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')";
221    $results = $db->query ($query);
222  
223    return $results;
# Line 198 | Line 228 | dbUpdate
228   {
229    my $id = shift;
230    my $status = shift;
231 <  my $submissionLogName = shift;
202 <
203 <  open (SUBMISSION_LOG, "<$submissionLogName");
204 <  my @submissionLog = <SUBMISSION_LOG>;
205 <  close (SUBMISSION_LOG);
206 <  my $submissionLog = join ("", @submissionLog);
231 >  my $user = shift;
232  
208  $submissionLog = addSlashes ($submissionLog);
233    $status = addSlashes ($status);
234 +  $user = addSlashes ($user);
235  
236    my $results;
237 <  my $query = "update ntuple set lastUpdateTime=now(), status='$status', submissionLog='$submissionLog' where id=$id";
237 >  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', status='$status' where id=$id";
238 >  $db->selectdb ("ntuple");
239 >  $results = $db->query ($query);
240 >
241 >  return $results;
242 > }
243 >
244 > sub
245 > dbStatus
246 > {
247 >  my $id = shift;
248 >  my $currentStatusName = shift;
249 >  my $user = shift;
250 >
251 >  open (CURRENT_STATUS, "<$currentStatusName");
252 >  my @currentStatus = <CURRENT_STATUS>;
253 >  close (CURRENT_STATUS);
254 >  my $currentStatus = join ("", @currentStatus);
255 >
256 >  $currentStatus = addSlashes ($currentStatus);
257 >  $user = addSlashes ($user);
258 >
259 >  my $results;
260 >  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', currentStatus='$currentStatus' where id=$id";
261    $db->selectdb ("ntuple");
262    $results = $db->query ($query);
263  
# Line 222 | Line 270 | dbReport
270    my $id = shift;
271    my $status = shift;
272    my $lumiSummaryName = shift;
273 +  my $user = shift;
274  
275    open (LUMI_SUMMARY, "<$lumiSummaryName");
276    my @lumiSummary = <LUMI_SUMMARY>;
# Line 230 | Line 279 | dbReport
279  
280    $lumiSummary = addSlashes ($lumiSummary);
281    $status = addSlashes ($status);
282 +  $user = addSlashes ($user);
283 +
284 +  my $results;
285 +  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', status='$status', lumiSummary='$lumiSummary' where id=$id";
286 +  $db->selectdb ("ntuple");
287 +  $results = $db->query ($query);
288 +
289 +  return $results;
290 + }
291 +
292 + sub
293 + deleteEntry
294 + {
295 +  my $id = shift;
296  
297    my $results;
298 <  my $query = "update ntuple set lastUpdateTime=now(), status='$status', lumiSummary='$lumiSummary' where id=$id";
298 >  my $query = "delete from ntuple where id=$id";
299    $db->selectdb ("ntuple");
300    $results = $db->query ($query);
301  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines