Kenmerken:
Enkele belangrijke kenmerken van Laravel-horizon worden hieronder vermeld:
- Het is een open-sourcepakket
- Het toont alle wachtrijen en taakinformatie met behulp van een prachtig dashboard.
- Het biedt informatie over openstaande taken, voltooide taken en mislukte taken.
- Het biedt wachtrijen en taakinformatie met behulp van metrische gegevens.
- Het bewaakt de taken met behulp van tags.
Horizon-opdrachten:
Hieronder worden enkele horizon-opdrachten genoemd om de lopende horizon te besturen:.
De volgende opdracht wordt gebruikt om het horizonproces te pauzeren:.
$ php artisan horizon:pauzeDe volgende opdracht wordt gebruikt om het gepauzeerde horizonproces te hervatten:.
$ php artisanale horizon:verderDe volgende opdracht wordt gebruikt om de huidige status van het horizonproces te controleren:.
$ php ambachtelijke horizon:statusDe volgende opdracht wordt gebruikt om het horizonproces te beëindigen:. De horizon zal eindigen na het voltooien van alle lopende taken.
$ php artisanale horizon:beëindigenHorizon installeren:
Vereisten:
U moet een nieuw project installeren met de nieuwste versie van Laravel voordat u de stappen voor het installeren van de horizon begint. De stappen worden hier getoond met behulp van Laravel 8.X.
Installatieproces:
Voer de volgende opdracht uit vanaf de terminal om het horizon-pakket te installeren met behulp van de componist.
$ componist vereist laravel/horizonPubliceer na het installeren van Horizon de activa met behulp van de opdracht horizon:install artisan:
$ php artisan horizon:installpredis pakket wordt in deze zelfstudie gebruikt om predis als Redis-client te gebruiken . Voer de volgende opdracht uit om het predis-pakket te installeren met componist.
$ componist vereist predis/predisOpen database.php bestand dat zich bevindt onder de configuratie map en stel de waarde van de cliënt zoals hieronder weergegeven:.
'client' => env('REDIS_CLIENT', 'predis'),Voer de volgende opdracht uit om de cache te wissen voordat u de horizon start:.
$ php artisan cache: wissenVoer de volgende opdracht uit om de horizon te starten:.
$ php ambachtelijke horizonDe volgende uitvoer zal verschijnen als de horizon is geïnstalleerd en goed werkt:.
Op code gebaseerde configuratie:
Het biedt de mogelijkheid om gemakkelijk samen te werken met projectteamleden bij het werken met wachtrijen. Verschillende soorten instellingen kunnen worden ingesteld met behulp van de opdracht wachtrij:work artisan. config/horizon.php-configuratiebestand wordt gebruikt om verschillende configuraties in te stellen. Open horizon.php bestand om de standaardinstellingen te controleren. De Configuratie wachtrijwerker Work sectie van dit bestand bevat de volgende instelling:.
'standaard' => ['supervisor-1' => [
'verbinding' => 'opnieuw',
'wachtrij' => ['standaard'],
'balans' => 'auto',
'maxProcesses' => 1,
'probeert' => 1,
'leuk' => 0,
],
],
'omgevingen' => [
'productie' => [
'supervisor-1' => [
'maxProcessen' => 10,
'balanceMaxShift' => 1,
'balanceCooldown' => 3,
],
],
'lokaal' => [
'supervisor-1' => [
'maxProcessen' => 3,
],
],
],
Hier kan de waarde van het saldo zijn: gemakkelijk of auto of nul. Wanneer gemakkelijk is ingesteld voor balans, wordt het proces gesplitst in twee wachtrijen. Wanneer de auto is ingesteld voor balans, dan balanceert het de wachtrijwerkers op basis van resterende banen en gemiddelde wachttijd. Als een wachtrij vol raakt, zoekt de horizon naar de beschikbare werknemers en brengt deze naar de wachtrij om de taak snel te voltooien. Als de balansoptie is ingesteld op nul, gebruikt de supervisor een enkele pool van werknemers om de lopende taken te verwerken. Standaard is hier één supervisor gedefinieerd. Maar het is mogelijk om meerdere supervisors toe te wijzen en de specifieke verbinding, wachtrijen, balanceringsmechanisme, enz. kan voor elke supervisor worden gedefinieerd.
Als u de standaardinstelling van wilt controleren de Redis verbindingsstuurprogramma open vervolgens de config/wachtrij.php het dossier. De Redis sectie van dit bestand bevat de volgende instelling:.
'opnieuw' => ['stuurprogramma' => 'opnieuw',
'verbinding' => 'standaard',
'wachtrij' => env('REDIS_QUEUE', 'standaard'),
'retry_after' => 90,
'block_for' => null,
],
Volgens de instelling, als er geen taak is toegewezen, blijft de wachtrijstatus standaard. Hier geeft de waarde van retry_after aan dat de wachtrij na 90 seconden opnieuw wordt gestart. U kunt de waarden verhogen of verlagen op basis van de vereiste.
Horizon-dashboard openen:
Voer de volgende URL uit vanuit de browser om de verschillende wachtrijgerelateerde informatie van het horizondashboard te bekijken:.
http://localhost:8000/horizon/
De volgende uitvoer zal verschijnen als de horizon goed werkt:. De uitvoer laat zien dat de horizon nu actief is, één supervisor en standaardwachtrij zijn gedefinieerd en er is nog geen taak toegewezen.
Wijzig de standaardsectie van de horizon.php bestand met de volgende code:.
'standaard' => ['supervisor-1' => [
'verbinding' => 'opnieuw',
'wachtrij' => ['standaard','e-mail'],
'time-out' => 30,
'slaap' => 3,
'balans' => 'auto',
'minProcessen' => 1,
'maxProcessen' => 10,
'probeert' => 1,
'leuk' => 0,
],
],
Hier, nog een wachtrij, e-mail is toegevoegd, time-out is ingesteld op 30 seconden, slaap is ingesteld op 3 seconden, minProcessen is ingesteld op 1, en maxProcessen is ingesteld op 10. Om deze instellingen te activeren, moet u de lopende horizon stoppen, de configuratiecache wissen en de horizon opnieuw starten. druk op ctrl+c om de lopende horizon te beëindigen. Voer de volgende opdrachten uit om de configuratiecache te wissen en de horizon opnieuw te starten:.
$ php artisan config:cache$ php ambachtelijke horizon
Voer de volgende URL opnieuw uit vanuit de browser om de uitvoer te controleren op basis van de nieuwe instelling.
http://localhost:8000/horizon/
De volgende uitvoer verschijnt in de browser op basis van de huidige instelling:.
Conclusie:
Het installatieproces en de manier om de horizon te laten lopen worden voornamelijk belicht in deze tutorial. U moet een taak maken en deze aan een wachtrij toewijzen om het gedetailleerde gebruik van de horizon te kennen dat niet in dit artikel wordt behandeld. Dit artikel helpt de Laravel-gebruikers om de horizon te installeren en ermee aan de slag te gaan.