From 8a2fdec248d877fcb7fea1b616e037f1bf234dbf Mon Sep 17 00:00:00 2001 From: tomkat83 Date: Sun, 17 Jul 2016 13:57:50 +0200 Subject: [PATCH] Don't let PMS crash: download one item at a time - PMS can currently not handle concurrent connections asking for metadata (several PKC threads) - Might also fix #75 --- README.md | 4 +--- resources/lib/librarysync.py | 18 ++++++++---------- resources/settings.xml | 1 - 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 2ac91425..8af80e88 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,7 @@ I'm not in any way affiliated with Plex. Thank you very much for a small donatio ### IMPORTANT NOTES -1. If your are using a **low CPU device like a raspberry pi or a CuBox**, PKC might be instable or crash during initial sync. Lower the number of threads in the [PKC settings under Sync Options](https://github.com/croneter/PlexKodiConnect/wiki/PKC-settings#sync-options): - - Limit artwork cache threads: 5 - - Limit download sync threads: 1 +1. If your are using a **low CPU device like a raspberry pi or a CuBox**, PKC might be instable or crash during initial sync. Lower the number of threads in the [PKC settings under Sync Options](https://github.com/croneter/PlexKodiConnect/wiki/PKC-settings#sync-options): `Limit artwork cache threads: 5` Don't forget to reboot Kodi after that. 2. If you post logs, your **Plex tokens** might be included. Be sure to double and tripple check for tokens before posting any logs anywhere by searching for `token` 3. **Compatibility**: PKC is currently not compatible with Kodi's Video Extras plugin. **Deactivate Video Extras** if trailers/movies start randomly playing. diff --git a/resources/lib/librarysync.py b/resources/lib/librarysync.py index e2b8a449..9eeaed22 100644 --- a/resources/lib/librarysync.py +++ b/resources/lib/librarysync.py @@ -287,7 +287,6 @@ class LibrarySync(Thread): self.vnodes = videonodes.VideoNodes() self.dialog = xbmcgui.Dialog() - self.syncThreadNumber = int(utils.settings('syncThreadNumber')) self.installSyncDone = True if \ utils.settings('SyncInstallRunDone') == 'true' else False self.showDbSync = True if \ @@ -846,16 +845,15 @@ class LibrarySync(Thread): # Populate queue: GetMetadata for updateItem in self.updatelist: getMetadataQueue.put(updateItem) - # Spawn GetMetadata threads for downloading + # Spawn GetMetadata thread for downloading threads = [] - for i in range(min(self.syncThreadNumber, itemNumber)): - thread = ThreadedGetMetadata(getMetadataQueue, - processMetadataQueue, - getMetadataLock, - processMetadataLock) - thread.setDaemon(True) - thread.start() - threads.append(thread) + thread = ThreadedGetMetadata(getMetadataQueue, + processMetadataQueue, + getMetadataLock, + processMetadataLock) + thread.setDaemon(True) + thread.start() + threads.append(thread) self.logMsg("%s download threads spawned" % len(threads), 1) # Spawn one more thread to process Metadata, once downloaded thread = ThreadedProcessMetadata(processMetadataQueue, diff --git a/resources/settings.xml b/resources/settings.xml index f11066af..f474dad6 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -40,7 +40,6 @@ -