|
Lines 175-181
my $kohadir = C4::Context->config('intranetdir');
Link Here
|
| 175 |
my $bib_index_mode = C4::Context->config('zebra_bib_index_mode') // 'dom'; |
175 |
my $bib_index_mode = C4::Context->config('zebra_bib_index_mode') // 'dom'; |
| 176 |
my $auth_index_mode = C4::Context->config('zebra_auth_index_mode') // 'dom'; |
176 |
my $auth_index_mode = C4::Context->config('zebra_auth_index_mode') // 'dom'; |
| 177 |
|
177 |
|
| 178 |
my $dbh = C4::Context->dbh; |
|
|
| 179 |
my ($biblionumbertagfield,$biblionumbertagsubfield) = &GetMarcFromKohaField("biblio.biblionumber",""); |
178 |
my ($biblionumbertagfield,$biblionumbertagsubfield) = &GetMarcFromKohaField("biblio.biblionumber",""); |
| 180 |
my ($biblioitemnumbertagfield,$biblioitemnumbertagsubfield) = &GetMarcFromKohaField("biblioitems.biblioitemnumber",""); |
179 |
my ($biblioitemnumbertagfield,$biblioitemnumbertagsubfield) = &GetMarcFromKohaField("biblioitems.biblioitemnumber",""); |
| 181 |
|
180 |
|
|
Lines 227-232
if ( $verbose_logging ) {
Link Here
|
| 227 |
} |
226 |
} |
| 228 |
|
227 |
|
| 229 |
my $tester = XML::LibXML->new(); |
228 |
my $tester = XML::LibXML->new(); |
|
|
229 |
my $dbh; |
| 230 |
|
230 |
|
| 231 |
# The main work is done here by calling do_one_pass(). We have added locking |
231 |
# The main work is done here by calling do_one_pass(). We have added locking |
| 232 |
# avoid race conditions between full rebuilds and incremental updates either from |
232 |
# avoid race conditions between full rebuilds and incremental updates either from |
|
Lines 243-249
if ($daemon_mode) {
Link Here
|
| 243 |
while (1) { |
243 |
while (1) { |
| 244 |
# For incremental updates, skip the update if the updates are locked |
244 |
# For incremental updates, skip the update if the updates are locked |
| 245 |
if (_flock($LockFH, LOCK_EX|LOCK_NB)) { |
245 |
if (_flock($LockFH, LOCK_EX|LOCK_NB)) { |
| 246 |
do_one_pass() if ( zebraqueue_not_empty() ); |
246 |
eval { |
|
|
247 |
$dbh = C4::Context->dbh; |
| 248 |
do_one_pass() if ( zebraqueue_not_empty() ); |
| 249 |
}; |
| 250 |
if ($@ && $verbose_logging) { |
| 251 |
warn "Warning : $@\n"; |
| 252 |
} |
| 247 |
_flock($LockFH, LOCK_UN); |
253 |
_flock($LockFH, LOCK_UN); |
| 248 |
} |
254 |
} |
| 249 |
sleep $daemon_sleep; |
255 |
sleep $daemon_sleep; |
|
Lines 252-257
if ($daemon_mode) {
Link Here
|
| 252 |
# all one-off invocations |
258 |
# all one-off invocations |
| 253 |
my $lock_mode = ($wait_for_lock) ? LOCK_EX : LOCK_EX|LOCK_NB; |
259 |
my $lock_mode = ($wait_for_lock) ? LOCK_EX : LOCK_EX|LOCK_NB; |
| 254 |
if (_flock($LockFH, $lock_mode)) { |
260 |
if (_flock($LockFH, $lock_mode)) { |
|
|
261 |
$dbh = C4::Context->dbh; |
| 255 |
do_one_pass(); |
262 |
do_one_pass(); |
| 256 |
_flock($LockFH, LOCK_UN); |
263 |
_flock($LockFH, LOCK_UN); |
| 257 |
} else { |
264 |
} else { |
| 258 |
- |
|
|