PHP Academy · leksjon

Overvåke køer med Laravel Horizon

Installer Horizon og følg med på køgjennomstrømning og mislykkede jobber.

Leksjon 4 av 413 trinn

Overvåke køer med Laravel Horizon er en gratis leksjon i PHP Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i PHP Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i PHP Academy inneholder totalt 4 leksjoner.

Hva er Horizon?

Laravel Horizon tilbyr et oversiktlig dashbord og et konfigurasjonssystem for Redis-baserte køer, med sanntidsmålinger, sporing av gjennomstrømning og jobbovervåking.

Installere Horizon

Installer via Composer og publiser ressurser.

$ composer require laravel/horizon
$ php artisan horizon:install
$ php artisan migrate

Starte Horizon

Start Horizon som én langvarig prosess (erstatter queue:work).

$ php artisan horizon

Åpne dashbordet

Horizon-dashbordet er som standard tilgjengelig på /horizon. Begrens tilgangen i produksjon til autoriserte brukere.

<?php
// In HorizonServiceProvider:
Horizon::auth(function ($request) {
    return $request->user()?->isAdmin() ?? false;
});

horizon.php-konfigurasjon

Konfigurer workere (miljøer, supervisorer, køprioriteter og antall workere) i config/horizon.php.

// config/horizon.php
"environments" => [
    "production" => [
        "supervisor-1" => [
            "connection" => "redis",
            "queue"      => ["emails", "default"],
            "processes"  => 10,
            "balance"    => "auto",
        ]
    ]
]

Supervisorer og balansering

Horizon-supervisorer administrerer grupper med workere. Med "balance" => "auto" skalerer Horizon antallet workere automatisk basert på kødybden.

Måledashbord

Horizon-dashbordet viser: jobber per minutt, mislykkede jobber, ventetider, nylige jobber og statistikk for hver kø.

Merke jobber

Merk jobber for enklere overvåking og filtrering i dashbordet.

<?php
public function tags(): array
{
    return ["user:".$this->user->id, "email"];
}
// Then filter by tag in the Horizon dashboard

Mislykkede jobber i Horizon

Se mislykkede jobber med unntakene og stacktracerne. Prøv individuelle mislykkede jobber på nytt direkte fra dashbordet eller via Artisan.

$ php artisan horizon:forget <uuid>
$ php artisan horizon:retry-failed

Kjøring i produksjon med Supervisor

Bruk Linux Supervisor til å holde Horizon-prosessen kjørende og starte den på nytt hvis den krasjer.

[program:horizon]
command=php /srv/app/artisan horizon
autorestart=true
stdout_logfile=/var/log/horizon.log

Sette på pause og fortsette

Sett Horizon på pause under utrullinger for å tømme køen på en kontrollert måte, og fortsett deretter.

$ php artisan horizon:pause
$ php artisan horizon:continue
$ php artisan horizon:terminate

Sammendrag

Horizon erstatter køarbeidere med én enkelt prosess og et oversiktlig dashbord. Konfigurer antallet arbeidere i config/horizon.php. Bruk Supervisor i produksjon for å holde Horizon kjørende.

Hurtigsjekk

Hvilken kommando starter Laravel Horizon?

Gratis å komme i gang

Lær deg PHP med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
49
Leksjoner
195

Ofte stilte spørsmål

Er leksjonen «Overvåke køer med Laravel Horizon» gratis?

Ja – hele teksten i «Overvåke køer med Laravel Horizon» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av PHP Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i PHP Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Overvåke køer med Laravel Horizon»?

Installer Horizon og følg med på køgjennomstrømning og mislykkede jobber. Du øver på PHP Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med PHP Academy?

Ingen tidligere erfaring er nødvendig. PHP Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Overvåke køer med Laravel Horizon»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne PHP Academy-leksjonen?

Ja. Alle PHP Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Køkonsepter og drivere
  2. Opprette og sende jobber
  3. Nye forsøk, forsinkelser og kjeding av jobber
  4. Overvåke køer med Laravel Horizon
← Tilbake til PHP Academy