Wpis z mikrobloga

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.

Jak to najlepiej ogarnąć?

#php #programowanie
  • 12
@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.
via Wykop
  • 0
@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ę?
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
Tak swoją drogą w pythonie jak by to szło?


@K-S-: to jest najbardziej podstwowy model pracy, który wspiera każdy język. Każdy hello world taki działa
@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.
Muszę za pomocą php uruchamiać komendy które będą pracować od kilku minut do nawet kilku godzin

@K-S-: crontab + wywołanie interpretera z jego poziomu.

Wszystko na linux

@K-S-: to nawet łatwiej na linux niż windows zrobić

do tego potrzebuję potwierdzenia że wszystko się poprawnie wykonało.

@K-S-: potwierdzenie możesz zrobić w kodzie php? możesz te pliki edytować? tam można też jakiegoś loga dodać. Z poziomu cron, można dodać skrypt bash
@K-S-: Ja zwykle używam komendy

screen

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.
via Wykop
  • 0
@dzerzi: ale te skrypty będą uruchamiać użytkownicy i może tego być sporo.

Chodzi o to by taka Anetka z księgowości mogła uruchomić komendę klikając na przycisk w przeglądarce ( ͡º ͜ʖ͡º)