php.hr
Dobrodošli,
Gost
. Molimo,
prijavite se
ili
se registrirajte
.
17.02.2025., 20:05
1878
Postova
1000
Tema
442
Članova
Najnoviji Član:
medolino
Forum
Pomoć
Traži
Kalendar
Prijava
Registracija
php.hr
|
PHP & MySQL
|
PHP
|
Program Execution Functions i sinkronizacija
« natrag
naprijed »
Str:
[
1
]
Ispis
Autor
Tema: Program Execution Functions i sinkronizacija (Posjeta: 2953 )
maXimus
Novi član
Offline
Spol:
Postova: 18
Program Execution Functions i sinkronizacija
«
:
11.11.2007., 15:47 »
Trebao bi napraviti stranicu preko koje bi korisnik uploadao datoteku. Tu datoteku treba obraditi nekim programom koji se nalazi na tom istom serveru (linux), dakle preko php pozvati program i predat mu parametre. To sam mislio napraviti korištenjem exec() funkcije.
Sad mene zanima što će se desit ako dođu 1000 korisnika i istovremeno pokrenu skriptu za pokretanje tog vanjskog programa. Da li će php za svakog od njih pokrenut poseban proces ili postoji neki mehanizam reda čekanja, dakle svi ostali zahtjevi čekaju dok prvi proces nebude gotov.
I općenito kako se rješavaju problemi sa pokretanjem programa preko php-a?
Evidentirano
ttc
Administrator
PHP Programer
Offline
Postova: 111
Odg: Program Execution Functions i sinkronizacija
«
Odgovor #1 :
11.11.2007., 22:23 »
Tu ce OS dodjeljivati pravo koristenja resursa,
Naime, php nije nista drugo nego "program" na OS-u.
Inace exec() fcja je disableana na jedno 95% servera pa provvjeri da li ista funkcionira na tvom serveru.
Evidentirano
maXimus
Novi član
Offline
Spol:
Postova: 18
Odg: Program Execution Functions i sinkronizacija
«
Odgovor #2 :
13.11.2007., 01:58 »
što se tiče servera ja ga podešavam tako da to nije problem
ok OS pokušava svima pravedno dodijeliti korištenje resursa, no međutim pokušao sam lokalno (win XP) pokrenuti skriptu na dva različita browsera (opera i firefox) da bi simulirao dva korisnika. Skripta je pokretala ping naredbu i u task manager-u su se vidjela, da su pokrenuta, dva ping procesa. Dakle mogu zaključit da koliko korisnika pozove tu skriptu da će se toliko procesa pokrenut. Slična stvar bi bila i na linuxu (nisam isprobao).
Sad možda nisam dobro postavio pitanje zbog onog istovremenog pokretanja 1000 ljudi, naravno da će se morati pokrenut proces po proces, ali ono što ja želim je npr. ograničit na stvaranje do 3 procesa. Jer npr. ako na svom računalu pokrenemo više puta Nero progam za prženje, u task baru se vide ti procesi i svi oni troše memoriju (neki programi se nedaju više puta pokrenut istovremeno). Znači napraviti neki red zahtjeva, kad jedan od ta 3 procesa završi da se može pokrenuti novi.
A druga stvar koja me muči je kako ubiti pokrenuti program ako njegova obrada predugo traje, jer exec mi nedaje nikakav id pokrenutog procesa niti bilo kakvu vezu sa pokrenutim procesom.
«
Zadnja izmjena: 13.11.2007., 02:00 maXimus
»
Evidentirano
Str:
[
1
]
Ispis
php.hr
|
PHP & MySQL
|
PHP
|
Program Execution Functions i sinkronizacija
« natrag
naprijed »
Skoči na:
Odaberite odredište:
-----------------------------
PHP Hrvatska
-----------------------------
=> PHP Hrvatska
-----------------------------
PHP & MySQL
-----------------------------
=> PHP
=> MySQL
=> PostgreSQL
=> Apache server
=> PHP for newbies
-----------------------------
Miscellaneous
-----------------------------
=> Oglasi
=> No response
=> nonPHP
=> Forum Diary
=> Bin/Trash..
php.hr | Powered by
SMF 1.1.13
. © 2005,
Simple Machines LLC
. All Rights Reserved.
Učitava se...