Uruchamianie pracownika Laravel w kolejce jako usługa systemu
- 1515
- 465
- Klaudia Woś
Laravel to popularna framework aplikacji PHP, który upraszcza proces budowania nowoczesnych, skalowalnych aplikacji internetowych. Jedną z kluczowych cech Laravel jest jego zdolność do obsługi zadań w tle za pośrednictwem systemu kolejkowania. Pracownicy z kolejek Laravel są zaprojektowane do asynchronicznego przetwarzania zadań w kolejce w tle, co może znacznie poprawić wydajność i reakcję Twojej aplikacji internetowej.
Podczas gdy Laravel zapewnia prosty interfejs wiersza poleceń do zarządzania pracownikami kolejki, utrzymywanie ich w środowiskach produkcyjnych może być trudne. W tym artykule zbadamy, jak uruchamiać pracowników Laravel w kolejce za pomocą SystemD, popularnego systemu init for Linux.
Wymagania wstępne
Zanim zaczniemy, musisz upewnić się, że Twój serwer spełnia następujące wymagania:
- System operacyjny oparty na systemie Linuksa
- Wersja PHP 7.2 lub więcej
- Framework LaraVel zainstalowany i skonfigurowany
- SystemD System INIT zainstalowany i skonfigurowany
Tworzenie usługi SystemD
Pierwszym krokiem w uruchomieniu pracowników Laravel Queue z SystemD jest utworzenie pliku serwisowego SystemD. Ten plik zdefiniuje zachowanie pracownika w kolejce i sposób, w jaki należy go uruchomić, zatrzymać i ponownie uruchomić.
Utwórz nowy plik w „/ETC/Systemd/System/” katalog z .rozszerzenie usług, takie jak „Laravel -worker.praca".
sudo nano/etc/systemd/system/laravel-robotnik.praca
Dodaj następującą zawartość do pliku:
[Jednostka] Opis = Laravel Queue Worker After = Network.Target [Service] User = www-data grupa = www-data restart = zawsze pracujący Instaluj] WANTYBY = Multi-User.cel12345678910111213 | [Jednostka] Opis = Laravel Queue WorkeraFter = Network.Target [Service] User = www-DataGroup = www-datarestart = zawsze tworzenie robót =/ścieżka/to/your/laraveLexecStart =/usr/php Artisan kolejka: praca--Sleep = 3 --Tries = 3 [instalacja] WANSPIRY = Multi-użytkownik.cel |
Zastępować „/Ścieżka/do/Twoje/laravel” z katalogiem aplikacji Laravel. Ustaw także swoje polecenie rzemieślnicze „EXECSTART” opcje.
Rozbijmy ten plik i co oznacza każda sekcja:
- Jednostka: Ta sekcja określa jednostkę serwisową i zawiera krótki opis tego, co robi. Parametr po ustaleniu określa, że usługa powinna rozpocząć się po osiągnięciu celu sieci.
- Praca: W tej sekcji określa szczegóły dotyczące uruchomienia usługi. Parametry użytkownika i grupy określają użytkownika i grupę, pod którą usługa powinna uruchomić. „Ponowne uruchom” Parametr określa, że usługa powinna zostać ponownie uruchomiona, jeśli się zatrzyma lub zawiedzie. „EXECSTART” Parametr określa polecenie, które należy uruchomić, aby uruchomić pracownika kolejki. W takim przypadku używamy php binarnego do uruchomienia polecenia kolejki: Work Command with
--sen = 3
I--Próbuje = 3
opcje. Te opcje określają, że pracownik kolejki powinien spać przez 3 sekundy między każdym zadaniem i powinien ponowić ponowne nieudane zadania do 3 razy, zanim oznaczy je jako nieudane. - Zainstalować: W tej sekcji określa poziomy przebiegu, na których należy włączyć usługę. Parametr Wantby określa, że usługa powinna być włączona w celu wielu użytkowników, który jest domyślnym celem dla większości rozkładów Linux.
Zapisz plik i wyjdź z edytora.
Włączanie usługi
Najpierw wykonaj następujące polecenie, aby ponownie załadować Systemd Daemon Service. Musisz uruchomić to polecenie za każdym razem, wprowadzasz wszelkie zmiany w pliku serwisowym.
Sudo Systemctl Demon-Reload
Aby upewnić się, że pracownik Laravel w kolejce rozpoczyna się automatycznie, gdy serwer się uruchomi, możemy włączyć usługę za pomocą następującego polecenia:
Sudo Systemctl Włącz Laravel-Worker
To polecenie utworzy symLink w odpowiednim katalogu, aby automatycznie uruchomić Usługę podczas rozruchu.
Uruchomienie usługi
Teraz, gdy utworzyliśmy i aktywowaliśmy plik usługi SystemD, możemy uruchomić usługę za pomocą następującego polecenia:
sudo systemctl start laravel-robotnik
To polecenie uruchomi pracownika Laravela w kolejce jako usługa SystemD. Możesz sprawdzić, czy usługa działa poprawnie, sprawdzając jej status:
SUDO SystemCtl Status Laravel-Worker
To polecenie wyświetli informacje o usłudze, w tym jej aktualny status i wszelkie najnowsze wpisy dziennika.
Kontrolowanie usługi
Po uruchomieniu usługi możesz ją kontrolować za pomocą standardowych poleceń SystemD. Oto kilka typowych poleceń, których możesz użyć do kontrolowania usługi robotników w kolejce Laravel:
Sudo Systemctl Stop Laravel-Worker
: To polecenie zatrzyma usługę.sudo systemctl restart laravel-robotnik
: To polecenie ponownie uruchomi usługę.Sudo Systemctl wyłącz Laravel-Worker
: To polecenie wyłączy usługę od automatycznego uruchamiania w rozruchu.SUDO SystemCtl Status Laravel-Worker
: To polecenie wyświetli status usługi, w tym uruchomiony, czy zatrzymany, oraz wszelkie ostatnie wpisy dziennika.
Wniosek
Uruchomienie pracowników w kolejce Laravel z SystemD to świetny sposób, aby zapewnić, że prace w tle zawsze działają płynnie i wydajnie w środowiskach produkcyjnych. Tworząc plik serwisowy SystemD i włączając go w rozruchu, możesz zautomatyzować proces uruchamiania i zatrzymywania pracownika kolejki, ułatwiając zarządzanie i kontrolą.
W tym artykule omówiliśmy podstawowe kroki w tworzeniu pliku serwisowego systemu dla pracownika Laravela, uruchamianie usługi, włączanie go w rozruchu i kontrolowanie go za pomocą poleceń SystemD. Dzięki tej wiedzy możesz z łatwością zarządzać i skalować aplikacje Laravel.
- « Operacje arytmetyczne AWK Przewodnik po podstawowych metodach obliczeniowych
- AWK - Wprowadzenie i samouczek »