class Riffer::Runner::Threaded

Processes items concurrently using a thread pool of up to max_concurrency workers pulling from a shared queue, so a slow item doesn’t block others. If multiple workers raise, only the first exception is re-raised after all finish.