summaryrefslogtreecommitdiff
path: root/FS/bin/freeside-torrus-srvderive
diff options
context:
space:
mode:
authorivan <ivan>2011-04-08 17:02:56 +0000
committerivan <ivan>2011-04-08 17:02:56 +0000
commita604b9d9a87a415d64f1fc3c159f0a89302b137c (patch)
tree8740601916c9963a716c07441e685cffaf7769b7 /FS/bin/freeside-torrus-srvderive
parentfc820438443e859d37b7d8fe6a7b22f46c613cb7 (diff)
continue attempting to handle mysql hanging on queries, RT#10574
Diffstat (limited to 'FS/bin/freeside-torrus-srvderive')
-rw-r--r--FS/bin/freeside-torrus-srvderive9
1 files changed, 5 insertions, 4 deletions
diff --git a/FS/bin/freeside-torrus-srvderive b/FS/bin/freeside-torrus-srvderive
index 849206b..c368703 100644
--- a/FS/bin/freeside-torrus-srvderive
+++ b/FS/bin/freeside-torrus-srvderive
@@ -64,7 +64,7 @@ MAIN: while (1) {
my $found = 0;
- foreach my $torrus_srvderive ( qsearch('torrus_srvderive', {}) ) {
+ SERVICEID: foreach my $torrus_srvderive ( qsearch('torrus_srvderive', {}) ) {
my $serviceid = $torrus_srvderive->serviceid;
@@ -117,7 +117,7 @@ MAIN: while (1) {
eval {
my $h = set_sig_handler( 'ALRM', sub { die "_timeout\n"; } );
- alarm(5*60); #$torrus_srvderive->last_srv_date ? 5*60 : 15*60);
+ alarm(10*60); #5*60); #$torrus_srvderive->last_srv_date ? 5*60 : 15*60);
$sth->execute($serviceid, $serviceid) or die $sth->errstr;
alarm(0);
};
@@ -127,8 +127,9 @@ MAIN: while (1) {
warn "search timed out; reconnecting and restarting\n";
dbh->clone()->do("KILL QUERY ". dbh->{"mysql_thread_id"})
if driver_name eq 'mysql';
+ dbh->rollback; #or die dbh->errstr;
adminsuidsetup($user);
- next MAIN;
+ next SERVICEID; #MAIN;
} elsif ( $@ ) {
die $@;
}
@@ -178,7 +179,7 @@ MAIN: while (1) {
$isth->errstr;
dbh->rollback; #or die dbh->errstr;
sleep 5;
- next MAIN;
+ next SERVICEID; #MAIN;
}
}