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
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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.
  • Odpowiedz
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ę?
  • Odpowiedz
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
  • Odpowiedz
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
  • Odpowiedz
@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.
  • Odpowiedz
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
  • Odpowiedz
@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.
  • Odpowiedz
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 ( ͡º ͜ʖ͡º)
  • Odpowiedz