Czy muszę ponownie uruchomić proces nadzorcy po wprowadzeniu zmian w pliku Laravel?
Używam Supervisord do monitorowania kolejki w Laravel 4.2. To jest plik konfiguracyjny mojego przełożonego:
[program:webhooks]
command=php artisan queue:work --daemon --queue=webhooks --tries=3 --sleep=5
directory=/var/www/html/app
stdout_logfile=/var/www/html/app/app/storage/logs/webhooks_supervisord.log
redirect_stderr=true
autostart=true
autorestart=true
Jak widzę w dokumentach Laravel:
Pracownicy kolejki demona nie restartują struktury przed przetwarzaniem
każde zadanie.
Z tego co wiem, oznacza to, że jeśli dokonam zmiany w jednym z plików frameworka, ta zmiana nie zostanie odzwierciedlona w Queue Daemon. Na przykład, jeśli jeden z moich plików mówi
echo 1;i zmienię go na
echo 2;, wersja frameworka używana przez kolejkę będzie nadal zawierała
echo 1do momentu ponownego uruchomienia kolejki. Aby te nowe zmiany zaczęły obowiązywać, muszę uruchomić:
sudo supervisorctl
supervisor> stop webhooks
supervisor> start webhooks
Czy mam rację rozumiejąc, że jest to konieczne? A może jest inny sposób, aby sobie z tym poradzić, aby nowe zmiany w plikach były pobierane bez ponownego uruchamiania kolejki?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Tutaj
https://stackoverflow.com/a/9310434/3784306
dobry przykład tego, jak zarządzać wieloma powiązanymi kolejkami pracy, gdy projekt staje się zbyt duży, aby ręcznie ponownie uruchomić każdego pracownika.
Alternatywnie możesz użyć
słuchacz kolejki
http://laravel.com/docs/5.0/qu ... tener
przez . Ta opcja wiąże się ze znacznym wzrostem obciążenia procesora ze względu na fakt, że cała struktura jest ładowana od zera po każdym zadaniu.
Anonimowy użytkownik
Potwierdzenie od:
Jeśli używasz Sublime Text jako edytora, możesz dodać podpórkę, aby ponownie uruchomić Supervisor za każdym razem, gdy wprowadzasz zmiany w projekcie Laravel. Przejdź do sekcji projekt & > zmienić projekt.
}
Na razie w porządku. Zaktualizuję odpowiedź na wypadek, gdyby coś poszło nie tak.
Anonimowy użytkownik
Potwierdzenie od:
Powodem jest to, że polecenie rzemieślnika zatrzyma kolejkę, a przełożony wymusi jej ponowne uruchomienie, po ustawieniu w konfiguracji opcji .
Aby to potwierdzić, po prostu wykonaj poniższe czynności i zobacz wynik :
--
Alternatywnie możesz wykonać następujące czynności, jeśli dokonałeś zmian w konfiguracji programu nadzorującego:
Spowoduje to ponowne załadowanie konfiguracji, dodanie/usunięcie w razie potrzeby i ponowne uruchomienie