From bc26c8eceeed5c15ab9ac203104d5881455c9a59 Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Mon, 17 Oct 2011 12:27:53 -0400 Subject: [PATCH] Teach the hold targeter to make multisession requests while consuming the targetable list of holds Signed-off-by: Mike Rylander --- Open-ILS/src/support-scripts/hold_targeter.pl | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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; -- 2.11.0