---
title: "Obmedzenie požiadaviek — Plausible for Laravel | Roundly"
description: "Klientske limity požiadaviek zvlášť pre stats, events a sites s adaptívnym spomalením pri 429, rýchlym zlyhaním a zdieľaným rozpočtom."
url: https://roundly-consulting.com/sk/open-source/navody/plausible-for-laravel/obmedzenie-poziadaviek
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Plausible for Laravel](https://roundly-consulting.com/sk/open-source/navody/plausible-for-laravel.md)

# Obmedzenie požiadaviek

Každé odchádzajúce volanie prechádza cez http-client-rate-limits-for-laravel, takže sa vopred držíte pod kvótami Plausible namiesto zahlcovania API a odpovedí 429. Existujú tri nezávislé rozpočty — stats (dotazy), events (príjem udalostí) a sites (weby, ciele a zdieľané odkazy) — s kľúčom plausible:{surface}:{owner}:{host}\[:{site}\]. Host pochádza z URL inštancie, takže Cloud a self-hosted nikdy nezdieľajú okno.

Limit Plausible — predvolene 600 požiadaviek za hodinu — platí pre API kľúč naprieč všetkými webmi, ktoré kľúč číta. Preto stats a sites predvolene používajú jeden rozpočet pre celý účet (per\_site vypnuté): dashboard nad 20 webmi minie jeden rozpočet 600 za hodinu, presne ako to počíta Plausible. events je bez autentifikácie a má rozpočet pre každý web zvlášť.

## Nastavenia rozpočtov

Každý rozpočet nastavíte v plausible.rate\_limits.{surface}:

| Kľúč | Stats | Events | Sites | Účel |
| --- | --- | --- | --- | --- |
| `enabled` | true | true | true | false spustí bežného klienta bez limitera. |
| `owner` | app | app | app | Spojí viac inštancií aplikácie s jedným API kľúčom do jedného okna. |
| `limit` | 600 | 6000 | 60 | Maximum požiadaviek za okno. |
| `per` | hour | minute | hour | Veľkosť okna: second, minute, hour alebo day. |
| `adaptive` | true | true | true | Rešpektovať Retry-After pri odpovedi 429 od Plausible. |
| `max_wait` | null | null | null | Milisekundy. null = čakať; nastavená hodnota = hneď zlyhať s RateLimitExceeded. |
| `jitter` | null | null | null | Milisekundy náhodného rozptylu pridané k odkladu. |
| `per_site` | false | true | false | Zahrnúť web do kľúča — samostatný rozpočet pre každý web. Pre stats a sites ho nechajte vypnutý, pokiaľ váš kľúč naozaj nemá kvóty pre jednotlivé weby. |

Stats predvolene zodpovedá zdokumentovanému limitu Plausible 600 požiadaviek za hodinu na kľúč; Events je štedrý minútový rozpočet pre veľké objemy udalostí; Sites je nízky rozpočet na správu čerpaný z toho istého kľúča. Self-hosted inštancie môžu mať iné čísla.

## Premenné prostredia

Každý kľúč má svoju premennú env. Uvedené sú názvy pre stats — pre ostatné rozpočty nahraďte STATS za EVENTS alebo SITES. Logické kľúče — enabled, adaptive a per\_site — prijímajú true/false, on/off, yes/no a 1/0; čokoľvek iné vyhodí InvalidConfigurationException s názvom kľúča. Rovnako striktné sú aj ostatné: per musí byť second, minute, hour alebo day (preklep ako hourly vyhodí výnimku, nestane sa z neho hodina), limit je celé číslo najmenej 1, max\_wait a jitter sú celé čísla najmenej 0 (alebo nenastavené) a owner je reťazec. Prázdna hodnota (PLAUSIBLE\_STATS\_RATELIMIT=) sa považuje za nenastavenú, takže platí jej predvolená hodnota:

| Kľúč | Premenná env |
| --- | --- |
| `enabled` | PLAUSIBLE\_STATS\_RATELIMIT\_ENABLED |
| `owner` | PLAUSIBLE\_RATELIMIT\_OWNER (spoločná pre všetky tri) |
| `limit` | PLAUSIBLE\_STATS\_RATELIMIT |
| `per` | PLAUSIBLE\_STATS\_RATELIMIT\_PER |
| `adaptive` | PLAUSIBLE\_STATS\_RATELIMIT\_ADAPTIVE |
| `max_wait` | PLAUSIBLE\_STATS\_RATELIMIT\_MAX\_WAIT |
| `jitter` | PLAUSIBLE\_STATS\_RATELIMIT\_JITTER |
| `per_site` | PLAUSIBLE\_STATS\_RATELIMIT\_PER\_SITE |

```bash
PLAUSIBLE_RATELIMIT_OWNER=app
PLAUSIBLE_STATS_RATELIMIT=600
PLAUSIBLE_STATS_RATELIMIT_PER=hour
PLAUSIBLE_STATS_RATELIMIT_MAX_WAIT=5000
PLAUSIBLE_EVENTS_RATELIMIT_PER=minute
PLAUSIBLE_SITES_RATELIMIT_ENABLED=false

# Booleans accept true/false, on/off, yes/no and 1/0; anything else throws.
# Only for a key with real per-site quotas:
PLAUSIBLE_STATS_RATELIMIT_PER_SITE=on
```

## Čakať, alebo hneď zlyhať

Predvolene požiadavka, ktorá by prekročila okno, počká, kým sa okno uvoľní. Ak nastavíte max\_wait (ms), vyhodí sa namiesto toho RoundlyConsulting\\Plausible\\Exceptions\\RateLimitExceeded s kľúčom rozpočtu a dĺžkou čakania cez retryAfterSeconds():

```php
use RoundlyConsulting\Plausible\Exceptions\RateLimitExceeded;

try {
    plausible()->stats()->aggregateResult($request);
} catch (RateLimitExceeded $e) {
    report("Retry {$e->key} in {$e->retryAfterSeconds()}s");
}
```

Keďže údaj stojí na kontrakte RoundlyConsulting\\PackageToolkit\\Contracts\\HasRetryAfter, aplikácia vybaví akékoľvek zlyhanie pre limit — z tohto aj z iného balíka Roundly — jednou kontrolou:

```php
use RoundlyConsulting\PackageToolkit\Contracts\HasRetryAfter;

if ($e instanceof HasRetryAfter) {
    return response('Too Many Requests', 429, ['Retry-After' => $e->retryAfterSeconds()]);
}
```

## Opakovania a zdieľané rozpočty

- Natívne opakovanie — retry.\* (predvolene vypnuté) pokrýva iba prechodné chyby: zlyhané spojenie alebo odpoveď 5xx. Odpoveď 4xx je konečná, takže 429 ide rovno limiteru, ktorý prečíta jej Retry-After (adaptive) a ďalšie volanie počká; pokusy jedného opakovaného volania zdieľajú jedno miesto v limiteri. Udalosť, ktorej požiadavka vypršala, sa nikdy neopakuje — Plausible ju už mohol zaznamenať a opakovanie by ju aj s tržbou započítalo dvakrát.
- Zdieľané rozpočty — limiter predvolene používa úložisko v pamäti procesu: stačí pre jeden worker, CLI alebo plánovaný report. Pre rozpočet zdieľaný medzi workermi či servermi nasmerujte jeho úložisko na Cache, Redis alebo Database cez HTTP\_CLIENT\_RATE\_LIMITS\_STORE (pozri http-client-rate-limits-for-laravel).
- Kvóty pre jednotlivé weby — per\_site je pre stats a sites vypnuté, lebo Plausible počíta požiadavky na API kľúč; zapnite ho, len ak má váš kľúč naozaj kvóty pre jednotlivé weby.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/plausible-for-laravel.md)
