Desavil 88 Zgłoś post Napisano Marzec 27, 2017 (edytowany) Witam. Uruchamiam na swoim serwerze pewne procesy w tle za pomocą nginx + php-fpm, najzwyczajniej funkcją system() lub exec(). Problem polega na tym, że jak zrestartuję php-fpm (np. w wyniku aktualizacji) to wszystkie procesy uruchomione za pomocą w/w funkcji są automatycznie zabijane. Czy istnieje jakiś sposób na uruchamianie ich w taki sposób, aby nie były one zależne od php-fpm? Pozdrawiam! Edytowano Marzec 27, 2017 przez Desavil (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
ukozik26 0 Zgłoś post Napisano Marzec 27, 2017 Skoro uruchamiasz je za pomocą system() lub exec() to przy restarcie zawsze będą zabijane. A nie możesz zrobić tak, że po tym, jak php-fpm zostanie uruchomione ponownie to proces po prostu wystartuje od nowa? Np. jakiś skrypt wykrywający działanie php-fpm. Udostępnij ten post Link to postu Udostępnij na innych stronach
Desavil 88 Zgłoś post Napisano Marzec 27, 2017 Skoro uruchamiasz je za pomocą system() lub exec() to przy restarcie zawsze będą zabijane. A nie możesz zrobić tak, że po tym, jak php-fpm zostanie uruchomione ponownie to proces po prostu wystartuje od nowa? Np. jakiś skrypt wykrywający działanie php-fpm. Oczywiście, że mogę i tak jest też zrobione jednak jest to bardzo uciążliwe. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Marzec 27, 2017 Słowo klucz: supervisord 1 Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Marzec 27, 2017 Nie powinieneś do tego używać php-fpm tylko własnej usługi podpiętej pod systemd czy cokolwiek czego tam używasz jako init, nawet jeśli będzie to głupie polecenie typu php /sciezka/do/twojego/skrypt.php. FPM się do tego całkowicie nie nadaje. Udostępnij ten post Link to postu Udostępnij na innych stronach
Desavil 88 Zgłoś post Napisano Marzec 27, 2017 (edytowany) Nie powinieneś do tego używać php-fpm tylko własnej usługi podpiętej pod systemd czy cokolwiek czego tam używasz jako init, nawet jeśli będzie to głupie polecenie typu php /sciezka/do/twojego/skrypt.php. FPM się do tego całkowicie nie nadaje. Zdaję sobie z tego sprawę, dlatego też szukam rozwiązania jak najlepiej to przerobić. Ogólnie rzecz biorąc Nginx+PHP-FPM służy do sterowania pewnymi procesami na serwerach z zewnątrz (z głównego serwera do kontrolowania), np. uruchamianiem jakiś procesów. Rozumiem, że powinienem stworzyć jakąś usługę i do niej przekazywać odpowiednie argumenty i nadal będę ją mógł uruchamiać przez funkcję system(), jednak będzie działała jako własna usługa? Edytowano Marzec 27, 2017 przez Desavil (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
2M1R 1 Zgłoś post Napisano Marzec 29, 2017 (edytowany) O ile dobrze zrozumiałem do powinieneś stworzyć skrypt który uruchamia usługi przez systemd i wywoływać go przez FPMa, Takie usługi powinny być nie zależne od web-serwera i php. Edytowano Marzec 29, 2017 przez 2M1R (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach