Timeouts bound one request; only a cap bounds concurrency

Setting a thirty-second timeout feels responsible and does nothing about the number of workers waiting simultaneously, which is what actually takes a site down.

// 50 workers ÷ 20s upstream = 2.5 req/s before exhaustion.
// the timeout does not appear in that arithmetic.

// what helps, in order:
//   1. a realistic timeout — 3s, because no user waits 30
//   2. a separate connect timeout — 1s
//   3. a cap on concurrent calls to that dependency
$this->http->timeout(3)->connectTimeout(1)->get($url);

Dropping the timeout from thirty seconds to three usually does more than any circuit breaker, because thirty was never a real number — no user waits that long and the only thing it bought was a worker held for half a minute. The separate connect timeout matters because an unreachable host should fail in a second rather than at the full read timeout. Both together turn a hung dependency into a fast error.