Fix sync getting stuck
This commit is contained in:
parent
58a86d34f1
commit
b611a66ff5
1 changed files with 11 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from __future__ import absolute_import, division, unicode_literals
|
from __future__ import absolute_import, division, unicode_literals
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
|
from Queue import Empty
|
||||||
|
|
||||||
from . import common
|
from . import common
|
||||||
from ..plex_db import PlexDB
|
from ..plex_db import PlexDB
|
||||||
|
@ -8,6 +9,8 @@ from .. import backgroundthread
|
||||||
|
|
||||||
LOG = getLogger('PLEX.sync.fill_metadata_queue')
|
LOG = getLogger('PLEX.sync.fill_metadata_queue')
|
||||||
|
|
||||||
|
QUEUE_TIMEOUT = 10 # seconds
|
||||||
|
|
||||||
|
|
||||||
class FillMetadataQueue(common.LibrarySyncMixin,
|
class FillMetadataQueue(common.LibrarySyncMixin,
|
||||||
backgroundthread.KillableThread):
|
backgroundthread.KillableThread):
|
||||||
|
@ -40,7 +43,14 @@ class FillMetadataQueue(common.LibrarySyncMixin,
|
||||||
if (not self.repair and
|
if (not self.repair and
|
||||||
plexdb.checksum(plex_id, section.plex_type) == checksum):
|
plexdb.checksum(plex_id, section.plex_type) == checksum):
|
||||||
continue
|
continue
|
||||||
self.get_metadata_queue.put((count, plex_id, section))
|
try:
|
||||||
|
self.get_metadata_queue.put((count, plex_id, section),
|
||||||
|
timeout=QUEUE_TIMEOUT)
|
||||||
|
except Empty:
|
||||||
|
LOG.error('Putting %s in get_metadata_queue timed out - '
|
||||||
|
'aborting sync now', plex_id)
|
||||||
|
section.sync_successful = False
|
||||||
|
break
|
||||||
count += 1
|
count += 1
|
||||||
# We might have received LESS items from the PMS than anticipated.
|
# We might have received LESS items from the PMS than anticipated.
|
||||||
# Ensures that our queues finish
|
# Ensures that our queues finish
|
||||||
|
|
Loading…
Reference in a new issue