chris.giteaandClaude Sonnet 5 5004c17fc7 refactor(task): consolidate 6 executor pools into 3 by resource profile
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>
2026-09-19 10:00:45 -04:00
2026-08-22 17:52:02 -04:00
2026-08-22 11:54:20 -04:00
2026-08-22 11:54:20 -04:00
2026-08-22 11:54:20 -04:00
2026-08-08 23:21:21 -04:00
2026-07-26 18:49:07 -04:00
2026-07-26 18:49:07 -04:00
S
Description
No description provided
54 MiB
Languages
Java 97.4%
CSS 1.5%
Python 0.9%
JavaScript 0.2%