5004c17fc7caac2067a4fc30144b2aefa4ecf649
TaskService/ExecutorConfig had one ThreadPoolTaskExecutor per TaskType (DATABASE, THUMBNAIL, METADATA, IMAGE_ANALYSIS, BACKGROUND_SYNC, HASH), each with its own hand-tuned size, but the actual work only falls into three resource profiles: a single-writer DB pool (unchanged), a CPU-bound pool for native-codec-backed decode/hash work (THUMBNAIL+IMAGE_ANALYSIS, still bounded platform threads to avoid oversubscribing the CPU and native-call pinning), and an I/O-bound pool (METADATA+BACKGROUND_SYNC+HASH) now backed by Executors.newVirtualThreadPerTaskExecutor() instead of a guessed thread count, since none of that work touches native code. TaskType keeps its 6 values as semantic labels; TaskService now maps several of them onto the same underlying executor instead of injecting six. PholioProperties.Pools drops thumbnail/metadata/image-analysis/ background-sync/hash in favour of a single cpu size. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Description
No description provided
54 MiB
Languages
Java
97.4%
CSS
1.5%
Python
0.9%
JavaScript
0.2%