PHP Academy · Oppitunti

Jonojen valvonta Laravel Horizonilla

Asentakaa Horizon ja seuratkaa jonojen suorituskykyä sekä epäonnistuneita jobeja.

Oppitunti 4/413 vaihetta

Jonojen valvonta Laravel Horizonilla on ilmainen PHP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu PHP Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. PHP Academy-kurssilla on yhteensä 4 oppituntia.

Mikä Horizon on?

Laravel Horizon tarjoaa Redis-pohjaisille jonoille selkeän hallintapaneelin ja määritysjärjestelmän, joka sisältää reaaliaikaiset mittarit, läpimenon seurannan ja jobien valvonnan.

Horizonin asentaminen

Asentakaa se Composerilla ja julkaiskaa resurssit.

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

Horizonin käynnistäminen

Käynnistäkää Horizon yhtenä pitkäkestoisena prosessina (se korvaa queue:work-komennon).

$ php artisan horizon

Hallintapaneelin käyttäminen

Horizonin hallintapaneeli on oletusarvoisesti käytettävissä osoitteessa /horizon. Rajoittakaa tuotannossa gaten avulla käyttöoikeus vain valtuutetuille käyttäjille.

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

horizon.php-määritykset

Määrittäkää työntekijät, ympäristöt, supervisorit, jonojen prioriteetit ja työntekijöiden määrät tiedostossa config/horizon.php.

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

Supervisorit ja tasapainotus

Horizonin supervisorit hallitsevat työntekijäjoukkoja. Kun käytössä on "balance" => "auto", Horizon skaalaa työntekijöiden määrää automaattisesti jonon pituuden perusteella.

Mittaristo

Horizonin hallintapaneeli näyttää muun muassa työt minuutissa, epäonnistuneet työt, odotusajat, viimeisimmät työt ja jonokohtaiset tilastot.

Jobien merkitseminen tunnisteilla

Lisätkää jobien tunnisteet, jotta niiden seuranta ja suodattaminen hallintapaneelissa on helpompaa.

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

Horizonin epäonnistuneet jobit

Tarkastele epäonnistuneita jobeja sekä niiden poikkeuksia ja pinojälkiä. Yksittäisiä epäonnistuneita jobeja voi yrittää uudelleen suoraan hallintapaneelista tai Artisanin kautta.

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

Tuotantoympäristössä Supervisorin kanssa

Käytä Linuxin Supervisoria pitämään Horizon-prosessi käynnissä ja käynnistämään se uudelleen, jos se kaatuu.

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

Keskeyttäminen ja jatkaminen

Keskeytä Horizon käyttöönottojen ajaksi, jotta jono tyhjennetään hallitusti, ja jatka sitten sen toimintaa.

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

Yhteenveto

Horizon korvaa queue workerit yhdellä prosessilla ja tyylikkäällä hallintapaneelilla. Määritä workereiden määrät tiedostossa config/horizon.php. Käytä tuotannossa Supervisoria pitämään Horizon käynnissä.

Pikatarkistus

Mikä komento käynnistää Laravel Horizonin?

Aloita maksutta

Opi PHP tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
49
Oppitunnit
195

Usein kysytyt kysymykset

Onko oppitunti ”Jonojen valvonta Laravel Horizonilla” ilmainen?

Kyllä – oppitunnin ”Jonojen valvonta Laravel Horizonilla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko PHP Academy-kurssin, päivitä CoddyKit PROhon. PHP Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Jonojen valvonta Laravel Horizonilla”?

Asentakaa Horizon ja seuratkaa jonojen suorituskykyä sekä epäonnistuneita jobeja. Harjoittelet PHP Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni PHP Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin PHP Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Jonojen valvonta Laravel Horizonilla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä PHP Academy-oppitunnilla?

Kyllä. Jokainen PHP Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Jonojen käsitteet ja ajurit
  2. Jobien luominen ja lähettäminen
  3. Jobien uudelleenyritykset, viiveet ja ketjutus
  4. Jonojen valvonta Laravel Horizonilla
← Takaisin: PHP Academy