Initiate our cstore transaction after making the initial, potentially
long-running call to collect the clear-shelf holds to process.
Otherwise, the cstore transaction may time out while waiting on the
holds retrieval to complete.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
sub clear_shelf_process {
my($self, $client, $auth, $org_id, $match_copy) = @_;
- my $e = new_editor(authtoken=>$auth, xact => 1);
+ my $e = new_editor(authtoken=>$auth);
$e->checkauth or return $e->die_event;
my $cache = OpenSRF::Utils::Cache->new('global');
"open-ils.circ.captured_holds.id_list.expired_on_shelf.retrieve"
)->run($auth, $org_id, $match_copy);
+ $e->xact_begin;
+
my @holds;
my @canceled_holds; # newly canceled holds
my $chunk_size = 25; # chunked status updates