Fix a racing condition that could lead to the sync getting stuck

Fixup racing
This commit is contained in:
croneter 2021-07-18 15:41:10 +02:00
parent 1066f857a2
commit ada337c2c4
1 changed files with 6 additions and 5 deletions

View File

@ -46,6 +46,10 @@ class FillMetadataQueue(common.LibrarySyncMixin,
if (not self.repair and
plexdb.checksum(plex_id, section.plex_type) == checksum):
continue
if not do_process_section:
do_process_section = True
self.processing_queue.add_section(section)
LOG.debug('Put section in processing queue: %s', section)
try:
self.get_metadata_queue.put((count, plex_id, section),
timeout=QUEUE_TIMEOUT)
@ -54,11 +58,8 @@ class FillMetadataQueue(common.LibrarySyncMixin,
'aborting sync now', plex_id)
section.sync_successful = False
break
count += 1
if not do_process_section:
do_process_section = True
self.processing_queue.add_section(section)
LOG.debug('Put section in processing queue: %s', section)
else:
count += 1
# We might have received LESS items from the PMS than anticipated.
# Ensures that our queues finish
section.number_of_items = count