NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Ak je pre vás lepšia chyba než dlhé blokovanie, nastavte strop čakania. Čakanie nad stropom — počítajú sa všetky jeho kolá, ak limiter po strate miesta v prospech iného workera čaká znova — vyhodí RateLimitExceededException (rozširuje RateLimitException) namiesto uspania:

Http::rateLimit(RateLimits::perHour(10)->maxWait(5_000)) // milliseconds
    ->get('https://api.example.com/report');

Spracovanie výnimky

Výnimka nesie kľúč vlastníka, potrebné čakanie aj váš strop, takže môžete presne preplánovať, obmedziť funkciu alebo chybu nahlásiť:

use RoundlyConsulting\HttpClientRateLimits\Exceptions\RateLimitExceededException;
use RoundlyConsulting\HttpClientRateLimits\Facades\RateLimits;

try {
    $response = Http::rateLimit(RateLimits::perHour(10)->maxWait(5_000))
        ->get('https://api.example.com/report');
} catch (RateLimitExceededException $e) {
    $e->key;        // the owner key of the window that forced the wait
    $e->delayMs;    // the wait that would have been needed
    $e->maxWaitMs;  // your ceiling (5000)
}

Kontrola prebehne pred udalosťou RequestDeferred aj pred akýmkoľvek čakaním, takže pre odmietnuté volanie sa nič nezaznamená. V pomenovanom profile ju nastavíte kľúčom max_wait (v milisekundách).

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.