|
Lines 106-112
if ($completedJobID) {
Link Here
|
| 106 |
# BatchStageMarcRecords can handle that |
106 |
# BatchStageMarcRecords can handle that |
| 107 |
|
107 |
|
| 108 |
my $job = undef; |
108 |
my $job = undef; |
| 109 |
my $dbh; |
|
|
| 110 |
if ($runinbackground) { |
109 |
if ($runinbackground) { |
| 111 |
my $job_size = scalar(@$marcrecords); |
110 |
my $job_size = scalar(@$marcrecords); |
| 112 |
# if we're matching, job size is doubled |
111 |
# if we're matching, job size is doubled |
|
Lines 139-147
if ($completedJobID) {
Link Here
|
| 139 |
|
138 |
|
| 140 |
} |
139 |
} |
| 141 |
|
140 |
|
| 142 |
# New handle, as we're a child. |
141 |
my $schema = Koha::Database->new->schema; |
| 143 |
$dbh = C4::Context->dbh({new => 1}); |
142 |
$schema->storage->txn_begin; |
| 144 |
$dbh->{AutoCommit} = 0; |
143 |
|
| 145 |
# FIXME branch code |
144 |
# FIXME branch code |
| 146 |
my ( $batch_id, $num_valid, $num_items, @import_errors ) = |
145 |
my ( $batch_id, $num_valid, $num_items, @import_errors ) = |
| 147 |
BatchStageMarcRecords( |
146 |
BatchStageMarcRecords( |
|
Lines 150-156
if ($completedJobID) {
Link Here
|
| 150 |
$marc_modification_template, |
149 |
$marc_modification_template, |
| 151 |
$comments, '', |
150 |
$comments, '', |
| 152 |
$parse_items, 0, |
151 |
$parse_items, 0, |
| 153 |
50, staging_progress_callback( $job, $dbh ) |
152 |
50, staging_progress_callback( $job ) |
| 154 |
); |
153 |
); |
| 155 |
|
154 |
|
| 156 |
if($profile_id) { |
155 |
if($profile_id) { |
|
Lines 169-185
if ($completedJobID) {
Link Here
|
| 169 |
$matcher_code = $matcher->code(); |
168 |
$matcher_code = $matcher->code(); |
| 170 |
$num_with_matches = |
169 |
$num_with_matches = |
| 171 |
BatchFindDuplicates( $batch_id, $matcher, 10, 50, |
170 |
BatchFindDuplicates( $batch_id, $matcher, 10, 50, |
| 172 |
matching_progress_callback( $job, $dbh ) ); |
171 |
matching_progress_callback($job) ); |
| 173 |
SetImportBatchMatcher($batch_id, $matcher_id); |
172 |
SetImportBatchMatcher($batch_id, $matcher_id); |
| 174 |
SetImportBatchOverlayAction($batch_id, $overlay_action); |
173 |
SetImportBatchOverlayAction($batch_id, $overlay_action); |
| 175 |
SetImportBatchNoMatchAction($batch_id, $nomatch_action); |
174 |
SetImportBatchNoMatchAction($batch_id, $nomatch_action); |
| 176 |
SetImportBatchItemAction($batch_id, $item_action); |
175 |
SetImportBatchItemAction($batch_id, $item_action); |
| 177 |
$dbh->commit(); |
176 |
$schema->storage->txn_commit; |
| 178 |
} else { |
177 |
} else { |
| 179 |
$matcher_failed = 1; |
178 |
$matcher_failed = 1; |
|
|
179 |
$schema->storage->txn_rollback; |
| 180 |
} |
180 |
} |
| 181 |
} else { |
181 |
} else { |
| 182 |
$dbh->commit(); |
182 |
$schema->storage->txn_commit; |
| 183 |
} |
183 |
} |
| 184 |
|
184 |
|
| 185 |
my $results = { |
185 |
my $results = { |
|
Lines 239-245
exit 0;
Link Here
|
| 239 |
|
239 |
|
| 240 |
sub staging_progress_callback { |
240 |
sub staging_progress_callback { |
| 241 |
my $job = shift; |
241 |
my $job = shift; |
| 242 |
my $dbh = shift; |
|
|
| 243 |
return sub { |
242 |
return sub { |
| 244 |
my $progress = shift; |
243 |
my $progress = shift; |
| 245 |
$job->progress($progress); |
244 |
$job->progress($progress); |
|
Lines 248-254
sub staging_progress_callback {
Link Here
|
| 248 |
|
247 |
|
| 249 |
sub matching_progress_callback { |
248 |
sub matching_progress_callback { |
| 250 |
my $job = shift; |
249 |
my $job = shift; |
| 251 |
my $dbh = shift; |
|
|
| 252 |
my $start_progress = $job->progress(); |
250 |
my $start_progress = $job->progress(); |
| 253 |
return sub { |
251 |
return sub { |
| 254 |
my $progress = shift; |
252 |
my $progress = shift; |
| 255 |
- |
|
|