Caratteristiche:
Alcune caratteristiche importanti dell'orizzonte di Laravel sono menzionate di seguito:
- È un pacchetto open source
- Mostra tutte le code e le informazioni sui lavori utilizzando una bellissima dashboard.
- Fornisce informazioni sui lavori in sospeso, sui lavori completati e sui lavori non riusciti.
- Fornisce code e informazioni sui lavori utilizzando le metriche.
- Monitora i lavori utilizzando i tag.
Comandi dell'orizzonte:
Alcuni comandi dell'orizzonte sono menzionati di seguito per controllare l'orizzonte in esecuzione.
Il seguente comando viene utilizzato per mettere in pausa il processo dell'orizzonte.
$ php orizzonte artigiano:pausaIl seguente comando viene utilizzato per riprendere il processo dell'orizzonte in pausa.
$ php orizzonte artigiano:continuaIl seguente comando viene utilizzato per controllare lo stato attuale del processo dell'orizzonte.
$ php orizzonte artigiano: statoIl seguente comando viene utilizzato per terminare il processo dell'orizzonte. L'orizzonte terminerà dopo aver completato tutti i lavori in esecuzione.
$ php orizzonte artigiano: terminareInstalla Horizon:
Prerequisiti:
Devi installare un nuovo progetto utilizzando l'ultima versione di Laravel prima di iniziare i passaggi di installazione di Horizon. I passaggi sono mostrati qui utilizzando Laravel 8.X.
Processo di installazione:
Esegui il seguente comando dal terminale per installare il pacchetto Horizon usando il compositore.
$ il compositore richiede laravel/horizonDopo aver installato Horizon, pubblica le sue risorse utilizzando il comando Horizon:install craft:
$ php orizzonte artigiano: installapredis pacchetto viene utilizzato in questo tutorial per utilizzare predis come client Redisdis . Esegui il seguente comando per installare il pacchetto predis usando il compositore.
$ il compositore richiede predis/predisAperto Banca dati.php file che si trova sotto la configurazione cartella e impostare il valore di cliente come mostrato di seguito.
'client' => env('REDIS_CLIENT', 'predis'),Esegui il seguente comando per cancellare la cache prima di avviare l'orizzonte.
$ php craft cache:clearEsegui il seguente comando per avviare l'orizzonte.
$ php orizzonte artigianaleIl seguente output apparirà se l'orizzonte è installato e funziona correttamente.
Configurazione basata su codice:
Offre l'opportunità di collaborare facilmente con i membri del team di progetto quando si lavora con le code. È possibile impostare diversi tipi di impostazioni utilizzando il comando queue:work crafter. config/orizzonte.il file di configurazione php viene utilizzato per impostare diverse configurazioni. Aperto orizzonte.php file per controllare le impostazioni predefinite. Il Configurazione del lavoratore in coda sezione di questo file contiene la seguente impostazione.
'predefinito' => ['supervisore-1' => [
'connessione' => 'redis',
'coda' => ['predefinito'],
'bilancia' => 'auto',
'maxProcesses' => 1,
'provi' => 1,
'bello' => 0,
],
],
'ambienti' => [
'produzione' => [
'supervisore-1' => [
'maxProcesses' => 10,
'balanceMaxShift' => 1,
'balanceCoolddown' => 3,
],
],
'locale' => [
'supervisore-1' => [
'maxProcesses' => 3,
],
],
],
Qui, il valore del saldo può essere semplice o auto o nullo. quando semplice è impostato per l'equilibrio, il processo verrà diviso tra due code. quando l'auto è impostato per l'equilibrio, quindi bilancia i lavoratori in coda in base ai lavori rimanenti e al tempo di attesa medio. Se una coda diventa occupata, l'orizzonte cercherà i lavoratori disponibili e li trasferirà alla coda per completare rapidamente l'attività. Se l'opzione balance è impostata su null, il supervisore utilizzerà un singolo pool di lavoratori per elaborare i lavori in esecuzione. Un supervisore è definito qui per impostazione predefinita. Ma è possibile assegnare più supervisori e il particolare collegamento, code, meccanismo di bilanciamento, ecc. può essere definito per ogni supervisore.
Se vuoi controllare l'impostazione predefinita di il Redis driver di connessione quindi apri il file config/coda.php file. Il Redis sezione di questo file contiene la seguente impostazione.
'redis' => ['driver' => 'redis',
'connessione' => 'predefinito',
'queue' => env('REDIS_QUEUE', 'predefinito'),
'retry_after' => 90,
'block_for' => null,
],
In base all'impostazione, se non viene assegnato alcun lavoro, lo stato della coda rimarrà predefinito. Qui, il valore di retry_after indica che la coda verrà riavviata dopo 90 secondi. Puoi aumentare o diminuire i valori in base al requisito.
Apri la dashboard di Horizon:
Esegui il seguente URL dal browser per vedere le diverse informazioni relative alla coda dalla dashboard dell'orizzonte.
http://localhost:8000/orizzonte/
Il seguente output apparirà se l'orizzonte funziona correttamente. L'output mostra che l'orizzonte è attivo ora, un supervisore e una coda predefinita sono definiti e nessun lavoro è ancora assegnato.
Modifica la sezione predefinita di L'orizzonte.php file con il seguente codice.
'predefinito' => ['supervisore-1' => [
'connessione' => 'redis',
'coda' => ['predefinito','e-mail'],
'timeout' => 30,
'dormire' => 3,
'bilancia' => 'auto',
'minProcesses' => 1,
'maxProcesses' => 10,
'provi' => 1,
'bello' => 0,
],
],
Ecco, un'altra coda, e-mail è aggiunto, tempo scaduto è impostato su 30 secondi, dormire è impostato su 3 secondi, minProcessi è impostato su 1, e maxProcesses è impostato su 10. Per attivare queste impostazioni devi fermare l'orizzonte in esecuzione, svuotare la cache di configurazione e riavviare l'orizzonte. stampa ctrl+c per terminare l'orizzonte in esecuzione. Esegui i seguenti comandi per cancellare la cache di configurazione e riavviare l'orizzonte.
$ php craft config:cache$ php orizzonte artigianale
Esegui nuovamente il seguente URL dal browser per controllare l'output in base alla nuova impostazione.
http://localhost:8000/orizzonte/
Il seguente output apparirà nel browser in base all'impostazione corrente.
Conclusione:
Il processo di installazione e il modo di gestire l'orizzonte sono principalmente evidenziati in questo tutorial. Devi creare un lavoro e assegnarlo a una coda per conoscere gli usi dettagliati dell'orizzonte che non sono trattati in questo articolo. Questo articolo aiuterà gli utenti di Laravel a installare l'orizzonte e iniziare a lavorarci.