summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjasplin <qt-info@nokia.com>2011-03-29 17:31:08 +0200
committerjasplin <qt-info@nokia.com>2011-03-29 17:31:08 +0200
commit736660edd3f861e5e4ca19f7078c1fec25dfeb5e (patch)
tree9dac3242ffd401001e934b00af4ffbec835d653e
parent9e7061ffb1f9cd8ecbe3bb118a7f7c74a3336199 (diff)
parent051e866bcf34e06e2697f86d347aa65859af1ed1 (diff)
Merge branch 'master' of scm.dev.nokia.troll.no:bm/jasplins-bm2
-rwxr-xr-xscripts/bm2_result_watcher.pl32
1 files changed, 19 insertions, 13 deletions
diff --git a/scripts/bm2_result_watcher.pl b/scripts/bm2_result_watcher.pl
index 61ba8ee..24094e0 100755
--- a/scripts/bm2_result_watcher.pl
+++ b/scripts/bm2_result_watcher.pl
@@ -34,17 +34,24 @@ my $logFile = $logFilePath . $daemonName . ".log";
my $pidFilePath = "/var/run/"; # PID file path
my $pidFile = $pidFilePath . $daemonName . ".pid";
my $workdir = "/home/qt/benchmarks2/";
+my $tmpdir = "/home/qt/tmp_benchmarks2/";
# daemonize
use POSIX qw(setsid);
chdir '/';
umask 0;
open STDIN, '/dev/null' or die logEntry("Can't read /dev/null: $!");
-open STDOUT, '>>/dev/null' or die logEntry("Can't write to /dev/null: $!");
-open STDERR, '>>/dev/null' or die logEntry("Can't write to /dev/null: $!");
+open STDOUT, '>>' . $tmpdir . 'stdout.log' or die logEntry("Can't write to /dev/null: $!");
+open STDERR, '>>' . $tmpdir . 'stderr.log' or die logEntry("Can't write to /dev/null: $!");
defined( my $pid = fork ) or die "Can't fork: $!";
exit if $pid;
-
+
+# turn on logging
+if ($logging) {
+ open LOG, ">>$logFile";
+ select((select(LOG), $|=1)[0]); # make the log file "hot" - turn off buffering
+}
+
# dissociate this process from the controlling terminal that started it and stop being part
# of whatever process group this process was a part of.
POSIX::setsid() or die logEntry("Can't start a new session.");
@@ -58,12 +65,6 @@ my $pidfile = File::Pid->new( { file => $pidFile, } );
$pidfile->write or die logEntry("Can't write PID file, /dev/null: $!");
-# turn on logging
-if ($logging) {
- open LOG, ">>$logFile";
- select((select(LOG), $|=1)[0]); # make the log file "hot" - turn off buffering
-}
-
# "infinite" loop where some useful process happens
until ($dieNow) {
sleep($sleepMainLoop);
@@ -87,11 +88,16 @@ until ($dieNow) {
}
close(FILE);
my $upload_exe = "/home/qt/bm2/scripts/uploadresults.py --db bm --host $hostname --platform $platform --branch $branch --sha1 $sha1 --file $workdir$f";
- if (system($upload_exe) == 0) {
- system("/bin/cp $workdir$f /home/qt/tmp_benchmarks2") == 0 or logEntry("Couldn't execute `cp': " . $workdir . $f);
- system("/bin/rm -f $workdir$f") == 0 or logEntry("Couldn't execute `rm': " . $workdir . $f);
+ logEntry("Trying to parse: uploadresults.py --db bm --host $hostname --platform $platform --branch $branch --sha1 $sha1 --file $workdir$f");
+ eval { system($upload_exe) };
+ if ($@) {
+ logEntry("Couldn't execute: uploadresults.py --db bm --host $hostname --platform $platform --branch $branch --sha1 $sha1 --file $workdir$f");
+ logEntry("Couldn't execute: $@");
} else {
- logEntry("Couldn't execute: uploadresults.py");
+ system("/bin/cp $workdir$f $tmpdir") == 0 or logEntry("Couldn't execute `cp': " . $workdir . $f);
+ system("/bin/gzip $tmpdir$f") == 0 or logEntry("Couldn't execute `gzip': " . $tmpdir . $f);
+ system("/bin/rm -f $workdir$f") == 0 or logEntry("Couldn't execute `rm': " . $workdir . $f);
+ logEntry("Done with result file: uploadresults.py --db bm --host $hostname --platform $platform --branch $branch --sha1 $sha1 --file $workdir$f");
}
}
}