Muszę za pomocą php uruchamiać komendy które będą pracować od kilku minut do nawet kilku godzin. Wszystko na linux, do tego potrzebuję potwierdzenia że wszystko się poprawnie wykonało.
@K-S-: Zrób tak żeby te komendy wrzucały output i/lub status do pliku (zależy co konkretnie potrzebujesz). W PHP odpalasz je w tle, a innym skryptem odpalanym np. z crona sprawdzasz te pliki z outputem i na tej podstawie stwierdzasz czy komenda zakończyła działanie i z jakim skutkiem.
Do tego możesz dodać jakiś lockfile żeby mieć pewność, że komenda nie zostanie odpalona wielokrotnie na raz.
@Jake_921: to jest spoko pomysł, do tego będę zapisywał pid procesu by móc go ubić
@wiesiu2 Właśnie na początku tak chciałem, ale nie chcę się wychylać w pracy że umiem pythona bo jeszcze dadzą mi dodatkowe obowiązki ;) Tak swoją drogą w pythonie jak by to szło? Aplikacja z jakimś serwerem rest plus jeden proces na jedną komendę?
@K-S-: to powiedz czym taki przykładowy program w pythonie:
import time
time.Sleep(5 * 3600) print("to już jest koniec") nie wpisuje się w twoją odpowiedź. Musisz bardziej sprecyzować pytanie, bo nie wiadomo o co ci chodzi.
Odpalam screen, tam komendę, wychodzę, wylogowuję się z serwera. Po jakimś czasie ssh i sprawdzam w logach (output do pliku najlepiej, lub stdout i wchodzisz w screena żeby sprawdzić co się dzieje). Odpalałem tak skrypty co kilka dni chodziły.
#rozdajo69 zł na żarcie 🍟🍔🍕 A dokładniej - do wygrania jedna karta podarunkowa o wartości 69 zł do Pyszne albo Uber Eats. Zwycięzca sam wybiera, czym się utuczy.
Shock.Deals - telegramowy kanał z promocjami, okazjami i błędami cenowymi
Jak to najlepiej ogarnąć?
#php #programowanie
Do tego możesz dodać jakiś lockfile żeby mieć pewność, że komenda nie zostanie odpalona wielokrotnie na raz.
@K-S-: w #python
@wiesiu2 Właśnie na początku tak chciałem, ale nie chcę się wychylać w pracy że umiem pythona bo jeszcze dadzą mi dodatkowe obowiązki ;) Tak swoją drogą w pythonie jak by to szło? Aplikacja z jakimś serwerem rest plus jeden proces na jedną komendę?
@K-S-: uruchamiasz aplikację przez systemctl, ona sobie chodzi cały czas i uruchamia inne wątki aby coś robiły
@K-S-: to jest najbardziej podstwowy model pracy, który wspiera każdy język. Każdy hello world taki działa
import time
time.Sleep(5 * 3600)
print("to już jest koniec")
nie wpisuje się w twoją odpowiedź. Musisz bardziej sprecyzować pytanie, bo nie wiadomo o co ci chodzi.
@K-S-: crontab + wywołanie interpretera z jego poziomu.
@K-S-: to nawet łatwiej na linux
Odpalam screen, tam komendę, wychodzę, wylogowuję się z serwera.
Po jakimś czasie ssh i sprawdzam w logach (output do pliku najlepiej, lub stdout i wchodzisz w screena żeby sprawdzić co się dzieje).
Odpalałem tak skrypty co kilka dni chodziły.
Chodzi o to by taka Anetka z księgowości mogła uruchomić komendę klikając na przycisk w przeglądarce ( ͡º ͜ʖ͡º)