Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Uruchamianie programu w C poprzez PHP
sADAM83
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.06.2010

Ostrzeżenie: (0%)
-----


Sytuacja wygląda tak mam portal internetowy, który umożliwia upload plików, które następnie mają zostać przetworzone przez istniejący program w C znajdujący się gdzieś na serwerze. Program ten musi mieć podany plik i na jego podstawie generuje plik wynikowy, który jest wysyłany do użytkownika.
W jaki sposób wywoływać ten program z poziomu php, jak rozwiązań problem kolejkowania zadań (wybór odpowiedniej kolejności plików do przetworzenia). Nie oczekuje oczywiście gotowego rozwiązania, tylko jakieś wskazówki lub miejsce gdzie mogę znaleźć informacje na interesujący mnie temat.
Go to the top of the page
+Quote Post
yevaud
post
Post #2





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


napisalbym oddzielny skrypt(program?) ktory bylby odpalony caly czas i czekal na nowe zgloszenia do roboty
do przetrzymywania zadan wykorzystalbym baze(zalatwia problem synchronizacji przy dostepie do zasobow)
w momencie gdy skrypt wiedzialby ze sa nowe zadania do przetworzenia, pytalby baze o zadania i wysylal je po kolei do Twojego programu w C(exec)

pozostaje tylko problem powiadomienia naszego skryptu ze jest cos do roboty, zeby nie katowal bazy ciaglymi pytaniami o zadania, jesli nie przeszkadza Ci niewielkie opoznienie to skrypt moglby np. co pare sekund pytac baze czy jest cos nowego dla niego, wtedy w ogole nie ma problemu
jesli wyjatkowo zalezy Ci na czasie, to wtedy Twoja aplikacja moze odezwac sie do skryptu przez jakis socket, wydaje mi sie ze zwykly phpowy stream tez sie nada - dzieki temu nie tracilbys ani sekundy i Twoj skrypt natychmiast wiedzialby ze pojwilo sie cos do roboty i pytal baze o to co jest w "kolejce"

oczywiscie mozna ten problem rozwiazac na wiele roznych sposobow, ale ten wydaje mi sie calkiem ok (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A to nie można użyć w skrypcie funkcji exec by wywołać program z zadanymi parametrami? (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
yevaud
post
Post #4





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@thek
mozna, ale kolega chcial to kolejkowac (IMG:style_emoticons/default/smile.gif)

Ten post edytował yevaud 20.06.2010, 22:02:03
Go to the top of the page
+Quote Post
deniol13
post
Post #5





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


hmm, exec i cron?
Go to the top of the page
+Quote Post
yevaud
post
Post #6





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@deniol13
cron jest co minute (IMG:style_emoticons/default/winksmiley.jpg) jak mowilem kolega chce kolejkowac
Go to the top of the page
+Quote Post
sADAM83
post
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.06.2010

Ostrzeżenie: (0%)
-----


Wielki dzięki za szybką odpowiedź na nurtujące mnie kwestie. Zadania muszą być kolejkowane bo mają różne priorytety wykonania ( 3 grupy zadań ), rzeczywiście można by jego było przechowywać w tabeli tymczasowej, usuwając po wykonaniu. Po przeczytaniu waszych cennych uwag wydaje mi się że najlepiej rzeczywiście będzie stworzyć skrypt, który uruchomi funkcje w C.
Czy cykliczne uruchamianie skryptu ( co jakiś czas ) może odbywać się tylko za pomocą crona ?
I jeszcze jedno pytanko może trochę naiwne ale nie używałem nigdy crona. Powiedzmy że mamy crona ustawionego tak żeby wykonywał skrypt co minute. Skrypt ma jednak do przetworzenia tyle zadań, że wykonuje się powiedzmy 30 minut. Czy cron mimo tego że skrypt coś tam przetwarza, będzie go próbował ponownie odpalać ? Nie wpłynie to na poprawne działanie skryptu ?
Go to the top of the page
+Quote Post
yevaud
post
Post #8





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(sADAM83 @ 21.06.2010, 10:15:38 ) *
Czy cykliczne uruchamianie skryptu ( co jakiś czas ) może odbywać się tylko za pomocą crona ?

to najlatwiejszy sposob zeby zalatwic problem (IMG:style_emoticons/default/smile.gif)

Cytat(sADAM83 @ 21.06.2010, 10:15:38 ) *
Powiedzmy że mamy crona ustawionego tak żeby wykonywał skrypt co minute. Skrypt ma jednak do przetworzenia tyle zadań, że wykonuje się powiedzmy 30 minut. Czy cron mimo tego że skrypt coś tam przetwarza, będzie go próbował ponownie odpalać ? Nie wpłynie to na poprawne działanie skryptu ?

cron bedzie probowal go odpalac tak czesto jak mu kazesz, nic wiecej go nie obchodzi. Wtedy skrypt powinien wykryc inna uruchomiona instancje i sie wylaczyc. Najlatwiej to osiagnac tworzac jakis plik tymczasowy.
tzn. Skrypt sie wlacza, sprawdza czy istnieje plik, jesli tak to konczy prace, jesli nie to go tworzy i bierze sie do roboty, po skonczonej robocie kasuje plik.
uzycie try except jest tutaj dobrym pomyslem (IMG:style_emoticons/default/winksmiley.jpg) warto tez w pliku wrzucic pid procesu, skrypt moglby sprawdzac czy proces o tym pid na pewno istnieje - zeby nie bylo sytuacji ze skrypt z jakiegos powodu calkiem padl, a plik zostal i blokuje system
Go to the top of the page
+Quote Post
sADAM83
post
Post #9





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.06.2010

Ostrzeżenie: (0%)
-----


Dobra czyli na razie chyba wiem co i jak (IMG:style_emoticons/default/winksmiley.jpg) . Reszta wyjdzie w praniu, wtedy pewnie ponownie podpytam tutaj (IMG:style_emoticons/default/winksmiley.jpg) Jeszcze bardzo dziękuję.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:14