X-Git-Url: https://git.exim.org/buildfarm-server.git/blobdiff_plain/856b7224f13ab1eee3766bd4f6ce07588cc78476..16db57b0d5eabfddda72405d5462012e35ee672e:/cgi-bin/pgstatus.pl diff --git a/cgi-bin/pgstatus.pl b/cgi-bin/pgstatus.pl index 8cafc4c..f951aee 100755 --- a/cgi-bin/pgstatus.pl +++ b/cgi-bin/pgstatus.pl @@ -19,6 +19,7 @@ use DBD::Pg; use Data::Dumper; use Mail::Send; use Safe; +use Time::ParseDate; require "$ENV{BFConfDir}/BuildFarmWeb.pl"; @@ -150,6 +151,19 @@ if ($calc_sig ne $sig && $calc_sig2 ne $sig) map {tr/$@/+=/; $_ = decode_base64($_); } ($log, $conf,$changed_this_run,$changed_since_success,$log_archive); + +if ($log =~/Last file mtime in snapshot: (.*)/) +{ + my $snaptime = parsedate($1); + if ($snaptime < (time - (10 * 86400))) + { + print "Status: 493 snapshot too old: $1\nContent-Type: text/plain\n\n"; + print "snapshot to old: $1\n"; + $db->disconnect; + exit; + } +} + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime($ts); $year += 1900; $mon +=1; my $dbdate= @@ -340,36 +354,9 @@ $row=$sth->fetchrow_arrayref; my ($os, $compiler,$arch) = @$row; $sth->finish; -$db->begin_work; -my $have_status = $db->selectrow_arrayref( q{ - select 1 - from build_status_latest - where sysname = ? and branch = ? -}, - undef, $animal, $branch); -if ($have_status) -{ - $db->do(q{ - update build_status_latest - set latest_snapshot = ? - where sysname = ? and branch = ? - }, - undef, $dbdate, $animal, $branch); -} -else -{ - $db->do(q{ - insert into build_status_latest - (sysname, branch, latest_snapshot) - values (?,?,?) - }, - undef, $animal, $branch, $dbdate); -} -$db->commit; - $db->begin_work; $db->do("delete from dashboard_mat"); -$db->do("insert into dashboard_mat select * from dashboard_mat_data2"); +$db->do("insert into dashboard_mat select * from dashboard_mat_data"); $db->commit; $db->disconnect;