diff options
author | jasplin <qt-info@nokia.com> | 2011-03-29 17:31:08 +0200 |
---|---|---|
committer | jasplin <qt-info@nokia.com> | 2011-03-29 17:31:08 +0200 |
commit | 736660edd3f861e5e4ca19f7078c1fec25dfeb5e (patch) | |
tree | 9dac3242ffd401001e934b00af4ffbec835d653e | |
parent | 9e7061ffb1f9cd8ecbe3bb118a7f7c74a3336199 (diff) | |
parent | 051e866bcf34e06e2697f86d347aa65859af1ed1 (diff) |
Merge branch 'master' of scm.dev.nokia.troll.no:bm/jasplins-bm2
-rwxr-xr-x | scripts/bm2_result_watcher.pl | 32 |
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"); } } } |