Laravel Horizon | V produkci Pomocí Supervisora
- před 6 měsíci
- 4 min čtení
- 614 počet slov
Laravel Horizon
Nástroj, který vám poskytne dokonalý přehled a kontrolu nad vašimi Redis frontami v Laravelu, Laravel Horizon je přesně to, co potřebujete pro správu queue!
Úvod
Laravel Horizon je elegantní dashboard a konfigurační systém pro správu Redis queue v Laravelu. Umožňuje snadno monitorovat klíčové ukazatele výkonu, sledovat stav front, zobrazuje podrobné informace o jednotlivých úlohách a nabízí přehledné grafy a statistiky pro efektivní správu úkolů na pozadí.
Potřebné věci
- Redis
- Ubuntu
- Composer
- Supervisor - odkaz zde
Krok 1 - Instalace Redis
Napřed si nainstalujeme Redis na Ubuntu systém
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis
Nyní zkontrolujeme stav Redisu, který by měl být úspěšně nainstalovaný.
systemctl status redis
Krok 2 - Instalace a nastavení Horizonu
Vlezeme do Laravel projektu a pomocí Composeru nainstalujeme Laravel Horizon
composer require laravel/horizon
Instalace konfiguračních souborů
php artisan horizon:install
Nutné provést migraci kvůli novým tabulkám v databázi
php artisan migrate
Pro otestování můžeme napsat
php artisan horizon
Nastavení .env.
.....
QUEUE_CONNECTION=redis
.....
Krok 3 - Spuštění na pozadí - Supervisor
Vytvoříme nový konfigurační soubor pro nastavení Supervisora
nano /etc/supervisor/conf.d/horizon_conf
[program:horizon]
process_name=%(program_name)s
command=php /var/www/html/artisan horizon
autostart=true
autorestart=true
user=www-data
redirect_stderr=true
stdout_logfile=/var/www/html/storage/logs/horizon.log
stderr_logfile=/var/www/html/storage/logs/horizon.log
Poté restartneme Supervisora a "lokální" Laravel Horizon je připraven !
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start horizon
Krok 4 - Nastavení pro produkci
Abyste měli přístup k Horizonu, tak musíte nastavit Gate oprávnění v souboru AuthServiceProvider.php
use App\Models\User;
use Illuminate\Support\Facades\Gate;
public function boot(): void
{
...
Gate::define('viewHorizon', fn (User $user) => in_array($user->email, [
'info@ludwigtomas.cz',
'test_1@seznam.cz',
'test_2@seznam.cz',
]));
...
}
Pouze tihle uživatelé s emaily budou mít přístup k Horizon dashboardu.
Krok 5 - Přehled Dashboardu
Vstup do přehledu queue většinou bývá ".../url/horizon".
Přesné URL do dashboardu lze zjistit pomocí příkazu:
php artisan route:list --name="horizon"
Závěr
Tímto postupem byste měli být schopni úspěšně přidat a spustit Laravel Horizon ve vašem Laravel projektu. Horizon poskytuje výkonné nástroje pro správu a monitorování vašich front a úloh, což vám umožní snadno sledovat výkon a optimalizovat vaše aplikace.
Pokud máte jakékoliv dotazy nebo připomínky, neváhejte mi napsat!