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.9 by ahart, Wed Dec 12 21:54:15 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 >    $response =~ s/\n//g;
109 >    deleteEntry ($id) if lc ($response) eq "y";
110 >    system ("crab $arg");
111    }
112   else
113    {
# Line 133 | Line 168 | sub
168   dbInsert
169   {
170    my $dataset = shift;
171 <  my $user = shift;
171 >  my $userAndHost = shift;
172    my $format = shift;
173    my $location = shift;
174    my $nFiles = shift;
# Line 143 | Line 178 | dbInsert
178    my $psetName = shift;
179    my $crabCfgName = shift;
180    my $jsonFileName = shift;
181 <  my $submissionLogName = shift;
181 >  my $workingDir = shift;
182 >
183 >  my $user = $userAndHost;
184 >  $user =~ s/@.*$//;
185  
186    open (PY_CONFIG, "<$psetName");
187    my @pset = <PY_CONFIG>;
# Line 157 | Line 195 | dbInsert
195    my @jsonFile = <JSON_FILE>;
196    close (JSON_FILE);
197    my $jsonFile = join ("", @jsonFile);
160  open (SUBMISSION_LOG, "<$submissionLogName");
161  my @submissionLog = <SUBMISSION_LOG>;
162  close (SUBMISSION_LOG);
163  my $submissionLog = join ("", @submissionLog);
198  
199    $dataset = addSlashes ($dataset);
200    $user = addSlashes ($user);
# Line 168 | Line 202 | dbInsert
202    $pset = addSlashes ($pset);
203    $crabCfg = addSlashes ($crabCfg);
204    $jsonFile = addSlashes ($jsonFile);
171  $submissionLog = addSlashes ($submissionLog);
205    $location = addSlashes ($location);
206    $status = addSlashes ($status);
207    $comment = addSlashes ($comment);
# Line 181 | Line 214 | dbInsert
214    my $id = 1;
215    $id = $row[0] + 1 if $results->numrows ();
216  
184  my $workingDir = $submissionLogName;
185  $workingDir =~ s/(.*)\/log\/crab\.log/$1/;
217    open (ID_FILE, ">$workingDir/log/.osuID");
218    print ID_FILE "$id\n";
219    close (ID_FILE);
220  
221 <  $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')";
221 >  $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')";
222    $results = $db->query ($query);
223  
224    return $results;
# Line 198 | Line 229 | dbUpdate
229   {
230    my $id = shift;
231    my $status = shift;
232 <  my $submissionLogName = shift;
202 <
203 <  open (SUBMISSION_LOG, "<$submissionLogName");
204 <  my @submissionLog = <SUBMISSION_LOG>;
205 <  close (SUBMISSION_LOG);
206 <  my $submissionLog = join ("", @submissionLog);
232 >  my $user = shift;
233  
208  $submissionLog = addSlashes ($submissionLog);
234    $status = addSlashes ($status);
235 +  $user = addSlashes ($user);
236  
237    my $results;
238 <  my $query = "update ntuple set lastUpdateTime=now(), status='$status', submissionLog='$submissionLog' where id=$id";
238 >  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', status='$status' where id=$id";
239 >  $db->selectdb ("ntuple");
240 >  $results = $db->query ($query);
241 >
242 >  return $results;
243 > }
244 >
245 > sub
246 > dbStatus
247 > {
248 >  my $id = shift;
249 >  my $currentStatusName = shift;
250 >  my $user = shift;
251 >
252 >  open (CURRENT_STATUS, "<$currentStatusName");
253 >  my @currentStatus = <CURRENT_STATUS>;
254 >  close (CURRENT_STATUS);
255 >  my $currentStatus = join ("", @currentStatus);
256 >
257 >  $currentStatus = addSlashes ($currentStatus);
258 >  $user = addSlashes ($user);
259 >
260 >  my $results;
261 >  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', currentStatus='$currentStatus' where id=$id";
262    $db->selectdb ("ntuple");
263    $results = $db->query ($query);
264  
# Line 222 | Line 271 | dbReport
271    my $id = shift;
272    my $status = shift;
273    my $lumiSummaryName = shift;
274 +  my $user = shift;
275  
276    open (LUMI_SUMMARY, "<$lumiSummaryName");
277    my @lumiSummary = <LUMI_SUMMARY>;
# Line 230 | Line 280 | dbReport
280  
281    $lumiSummary = addSlashes ($lumiSummary);
282    $status = addSlashes ($status);
283 +  $user = addSlashes ($user);
284 +
285 +  my $results;
286 +  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', status='$status', lumiSummary='$lumiSummary' where id=$id";
287 +  $db->selectdb ("ntuple");
288 +  $results = $db->query ($query);
289 +
290 +  return $results;
291 + }
292 +
293 + sub
294 + deleteEntry
295 + {
296 +  my $id = shift;
297  
298    my $results;
299 <  my $query = "update ntuple set lastUpdateTime=now(), status='$status', lumiSummary='$lumiSummary' where id=$id";
299 >  my $query = "delete from ntuple where id=$id";
300    $db->selectdb ("ntuple");
301    $results = $db->query ($query);
302  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines