From 2612a24403d0b269ba16cdef7ab2fd2823b76ba4 Mon Sep 17 00:00:00 2001 From: tonnesen Date: Mon, 9 Dec 2002 17:53:10 +0000 Subject: [PATCH] Better handling of stuck z39.50 queries --- acqui.simple/processz3950queue | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/acqui.simple/processz3950queue b/acqui.simple/processz3950queue index 8d096acb1b..53f1b364db 100755 --- a/acqui.simple/processz3950queue +++ b/acqui.simple/processz3950queue @@ -123,6 +123,7 @@ while (1) { if ($serverdone{$serverinfo}==-1) { my $stj=$dbi->prepare("select id from z3950results where server=$q_serverinfo and queryid=$id"); $stj->execute; + exit if $dbi->err; ($resultsid) = $stj->fetchrow; } else { my $stj=$dbi->prepare("select id from z3950results where server=$q_serverinfo and queryid=$id"); @@ -254,6 +255,17 @@ EOF $lastrun=time(); } sleep 10; + my $sth=$dbh->prepare("select id,startdate from z3950results where isnull(enddate)"); + $sth->execute; + if ($sth->rows) { + $checkqueue=1; + } + my $now=time(); + while (my ($id, $startdate) = $sth->fetchrow) { + if ($now-$startdate>1200) { + my $sti=$dbh->do("update z3950results set enddate=$now where id=$id"); + } + } } } -- 2.39.5