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.1 by ahart, Wed Jun 6 12:14:37 2012 UTC vs.
Revision 1.4 by ahart, Fri Aug 24 13:47:51 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  
14 < our $db;
14 > our $db = Mysql->connect ("cmshead.mps.ohio-state.edu", "ntuple", "osuT3User") or die "Failed to connect to Tier 3, stopped";
15  
16   my $arg = join (" ", @ARGV);
17   if ($arg =~ m/-create/)
# Line 43 | Line 44 | if ($arg =~ m/-create/)
44   elsif ($arg =~ m/-submit/)
45    {
46      my $workingDir = getWorkingDir (\@ARGV);
47 <    open (ID_FILE, "<$workingDir/log/.osuID");
48 <    my $id = <ID_FILE>;
49 <    close (ID_FILE);
50 <    $id =~ s/(.*)\n/$1/;
47 >    my $id = -1;
48 >    if (-e "$workingDir/log/.osuID")
49 >      {
50 >        open (ID_FILE, "<$workingDir/log/.osuID");
51 >        $id = <ID_FILE>;
52 >        close (ID_FILE);
53 >        $id =~ s/(.*)\n/$1/;
54 >      }
55      my $submissionLogName = $workingDir . "/log/crab.log";
56  
57      system ("crab $arg");
58  
59 <    my $results = dbUpdate ($id, "submitted", $submissionLogName);
59 >    my $results = dbUpdate ($id, "submitted", $submissionLogName, $ENV{"USER"}) if $id > -1;
60    }
61   elsif ($arg =~ m/-report/)
62    {
63      my $workingDir = getWorkingDir (\@ARGV);
64 <    open (ID_FILE, "<$workingDir/log/.osuID");
65 <    my $id = <ID_FILE>;
66 <    close (ID_FILE);
67 <    $id =~ s/(.*)\n/$1/;
64 >    my $id = -1;
65 >    if (-e "$workingDir/log/.osuID")
66 >      {
67 >        open (ID_FILE, "<$workingDir/log/.osuID");
68 >        $id = <ID_FILE>;
69 >        close (ID_FILE);
70 >        $id =~ s/(.*)\n/$1/;
71 >      }
72      my $lumiSummaryName = $workingDir . "/res/lumiSummary.json";
73  
74      system ("crab $arg");
75  
76 <    my $results = dbReport ($id, "complete", $lumiSummaryName);
76 >    my $results = dbReport ($id, "complete", $lumiSummaryName, $ENV{"USER"}) if $id > -1;
77 >  }
78 > elsif ($arg =~ m/-status/)
79 >  {
80 >    my $workingDir = getWorkingDir (\@ARGV);
81 >    my $id = -1;
82 >    if (-e "$workingDir/log/.osuID")
83 >      {
84 >        open (ID_FILE, "<$workingDir/log/.osuID");
85 >        $id = <ID_FILE>;
86 >        close (ID_FILE);
87 >        $id =~ s/(.*)\n/$1/;
88 >      }
89 >    my $currentStatusName = "$workingDir/log/.currentStatus";
90 >    unlink ($currentStatusName) if -e $currentStatusName;
91 >    system ("crab $arg | tee $currentStatusName");
92 >    my $results = dbStatus ($id, $currentStatusName, $ENV{"USER"}) if $id > -1;
93 >    unlink ($currentStatusName);
94    }
95   else
96    {
# Line 166 | Line 192 | dbInsert
192    $comment = addSlashes ($comment);
193  
194    my $results;
169  $db = Mysql->connect ("cmshead.mps.ohio-state.edu", "ntuple", "osuT3User");
195    my $query = "select max(id) from ntuple";
196    $db->selectdb ("ntuple");
197    $results = $db->query ($query);
# Line 180 | Line 205 | dbInsert
205    print ID_FILE "$id\n";
206    close (ID_FILE);
207  
208 <  $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')";
208 >  $query = "insert into ntuple (id, dataset, creationTime, lastUpdateTime, lastUpdateUser, user, format, location, nFiles, sizeInGB, status, comment, pset, crabCfg, jsonFile, submissionLog) values ($id, '$dataset', now(), now(), '$user', '$user', '$format', '$location', $nFiles, $sizeInGB, '$status', '$comment', '$pset', '$crabCfg', '$jsonFile', '$submissionLog')";
209    $results = $db->query ($query);
210  
211    return $results;
# Line 192 | Line 217 | dbUpdate
217    my $id = shift;
218    my $status = shift;
219    my $submissionLogName = shift;
220 +  my $user = shift;
221  
222    open (SUBMISSION_LOG, "<$submissionLogName");
223    my @submissionLog = <SUBMISSION_LOG>;
# Line 200 | Line 226 | dbUpdate
226  
227    $submissionLog = addSlashes ($submissionLog);
228    $status = addSlashes ($status);
229 +  $user = addSlashes ($user);
230 +
231 +  my $results;
232 +  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', status='$status', submissionLog='$submissionLog' where id=$id";
233 +  $db->selectdb ("ntuple");
234 +  $results = $db->query ($query);
235 +
236 +  return $results;
237 + }
238 +
239 + sub
240 + dbStatus
241 + {
242 +  my $id = shift;
243 +  my $currentStatusName = shift;
244 +  my $user = shift;
245 +
246 +  open (CURRENT_STATUS, "<$currentStatusName");
247 +  my @currentStatus = <CURRENT_STATUS>;
248 +  close (CURRENT_STATUS);
249 +  my $currentStatus = join ("", @currentStatus);
250 +
251 +  $currentStatus = addSlashes ($currentStatus);
252 +  $user = addSlashes ($user);
253  
254    my $results;
255 <  $db = Mysql->connect ("cmshead.mps.ohio-state.edu", "ntuple", "osuT3User");
206 <  my $query = "update ntuple set lastUpdateTime=now(), status='$status', submissionLog='$submissionLog' where id=$id";
255 >  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', currentStatus='$currentStatus' where id=$id";
256    $db->selectdb ("ntuple");
257    $results = $db->query ($query);
258  
# Line 216 | Line 265 | dbReport
265    my $id = shift;
266    my $status = shift;
267    my $lumiSummaryName = shift;
268 +  my $user = shift;
269  
270    open (LUMI_SUMMARY, "<$lumiSummaryName");
271    my @lumiSummary = <LUMI_SUMMARY>;
# Line 224 | Line 274 | dbReport
274  
275    $lumiSummary = addSlashes ($lumiSummary);
276    $status = addSlashes ($status);
277 +  $user = addSlashes ($user);
278  
279    my $results;
280 <  $db = Mysql->connect ("cmshead.mps.ohio-state.edu", "ntuple", "osuT3User");
230 <  my $query = "update ntuple set lastUpdateTime=now(), status='$status', lumiSummary='$lumiSummary' where id=$id";
280 >  my $query = "update ntuple set lastUpdateTime=now(), lastUpdateUser='$user', status='$status', lumiSummary='$lumiSummary' where id=$id";
281    $db->selectdb ("ntuple");
282    $results = $db->query ($query);
283  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines