Commit graph

3 commits

Author SHA1 Message Date
Sean Parsons
83298dabf3 Restore uncapped Parallel.ForEach when env cap unset (TPL -1)
- Omit/invalid/<=0 LIDARR_MEDIA_IO_PARALLELISM: default ParallelOptions for
  folder scan + tag reads (matches original multithread fork).
- PLINQ candidate scoring: ProcessorCount when uncapped; same 1–64 cap when set.
- Fixes throughput loss from equating 16 cores with TPL default concurrency.
- Log line shows TPL default vs cap and PLINQ degree; update MULTITHREAD_README.

Made-with: Cursor
2026-03-27 21:56:55 +00:00
Sean Parsons
c0aec91d50 Fix media parallelism defaults and observability
- Unset/invalid/0: use Environment.ProcessorCount (restore pre-cap behavior)
- Drop Lazy cache; re-read env when parallel work runs
- Log effective MaxDegree once per process on first disk scan
- Update MULTITHREAD_README for NFS opt-in vs default

Made-with: Cursor
2026-03-27 21:39:40 +00:00
Sean Parsons
a98d331b20 Cap scan/import parallelism via LIDARR_MEDIA_IO_PARALLELISM
Default max degree 2 to avoid IO storms on NFS/remote storage.
Applies to folder scan, tag reads, and candidate scoring PLINQ.
Document env var and Docker usage in MULTITHREAD_README.md.

Made-with: Cursor
2026-03-25 22:51:49 +00:00