The scan inherited the shared client's 15s interactive timeout and fetched episodes per-season (one request each), so a big library read-timed-out mid-scan (port 32400). - Dedicated Plex connection for scans with a 120s timeout (built from the shared config; doesn't touch the interactive client). - Fetch a show's episodes in ONE show.episodes() call grouped by season, instead of seasons()+episodes() per season — far fewer round-trips. - Per-item try/except in iter_movies/iter_shows so one slow/bad item is skipped and logged, never aborting the whole scan. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| scanner.py | ||
| sources.py | ||