From: ivan Date: Mon, 9 May 2011 22:12:19 +0000 (+0000) Subject: better retry behavior for non-found taqua CDR rewrites, RT#12181 X-Git-Tag: freeside_2_3_0~275 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=7fb4524a6efd3aeffe137b1bb42141f38d7be988 better retry behavior for non-found taqua CDR rewrites, RT#12181 --- diff --git a/FS/bin/freeside-cdrrewrited b/FS/bin/freeside-cdrrewrited index 7c759f5c3..ac0a1ce4f 100644 --- a/FS/bin/freeside-cdrrewrited +++ b/FS/bin/freeside-cdrrewrited @@ -42,7 +42,7 @@ while (1) { # instead of just doing this search like normal CDRs #hmm :/ - my @recent = grep { ($accountcode_unmatch{$_} + $accountcode_retry) < time } + my @recent = grep { ($accountcode_unmatch{$_} + $accountcode_retry) > time } keys %accountcode_unmatch; my $extra_sql = scalar(@recent) ? ' AND acctid NOT IN ('. join(',', @recent). ') ' @@ -105,9 +105,11 @@ while (1) { my $cantfind = "can't find primary CDR with session ". $cdr->sessionnum. ", src ". $cdr->subscriber; - if ( $cdr->calldate_unix - $accountcode_giveup > time ) { + if ( $cdr->calldate_unix + $accountcode_giveup < time ) { + warn" ERROR: $cantfind; giving up\n"; push @status, 'taqua-accountcode-NOTFOUND'; $cdr->status('done'); #so it doesn't try to rate + delete $accountcode_unmatch($cdr->acctid}; #so it doesn't suck mem } else { warn "WARNING: $cantfind; will keep trying\n"; $accountcode_unmatch{$cdr->acctid} = time;