From: Mike Rylander Date: Mon, 17 Oct 2011 16:27:53 +0000 (-0400) Subject: Teach the hold targeter to make multisession requests while consuming the targetable... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=bc26c8eceeed5c15ab9ac203104d5881455c9a59;p=evergreen%2Fequinox.git Teach the hold targeter to make multisession requests while consuming the targetable list of holds Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/src/support-scripts/hold_targeter.pl b/Open-ILS/src/support-scripts/hold_targeter.pl index 84c5ba283e..cf0c1a5632 100755 --- a/Open-ILS/src/support-scripts/hold_targeter.pl +++ b/Open-ILS/src/support-scripts/hold_targeter.pl @@ -56,13 +56,16 @@ if ($parallel == 1) { ); my $storage = OpenSRF::AppSession->create("open-ils.storage"); - my $holds = $storage->request('open-ils.storage.action.hold_request.targetable_holds.id_list', '24h')->gather(); - $storage->disconnect(); + my $holds = []; + + my $r = $storage->request('open-ils.storage.action.hold_request.targetable_holds.id_list', '24h'); - foreach my $hold (@$holds) { - $multi_targeter->request( 'open-ils.storage.action.hold_request.copy_targeter', '', $hold->[0], $hold->[1]); + while ( my $h = $r->recv ) { + $multi_targeter->request( 'open-ils.storage.action.hold_request.copy_targeter', '', $h->[0], $h->[1]); } + $storage->disconnect(); + $multi_targeter->session_wait(1); $multi_targeter->disconnect;