ugrás a tartalomhoz

PHP párhuzamosítás

opolczer · 2015. Jún. 23. (K), 15.29
Sziasztok!

Csináltam egy webadmin felületet, aminek van egy PC menedzselés felülete is (PC ki-be kapcsolás újraindítás stb...).
Ennek betöltésekor megpingeli a PC-ket egy-egy bash script segítésgével.

A probléma itt jön, mert amikor nincs bekapcsolva egy-egy PC akkor sokat kell várnom míg a ping timeout létrejön.

Olyat lehet csinálni, hogy az admin felület bejön egyből és "modulonként" ahogy végzett az adott PC-k pingjeikkel utána megjelennek másodpercekkel később a többi.

Köszi előre is a segítségeteket!
 
1

A rövid válasz: igen, lehet

spapp · 2015. Jún. 23. (K), 16.07
A rövid válasz: igen, lehet ilyet.

Bővebb válasz: erre több megoldás is kínálkozik.
Ez nagyban függ a lehetőségeidtől. Egy megoldás lehet az AJAX.

Ui:
A címet viszont nem értem hogyan értetted.
2

A rövid válasz: igen, lehet

opolczer · 2015. Jún. 23. (K), 16.11
Hát nem tudom. Valami ilyesmin gondolkoztam, hogy egyik folyamat a weblap a többi meg ami mellette fut, azok a lekérdezések. De akkor bocsi ha rosszul fogalmaztam meg a címet.

Esetleg tudsz segíteni ennek megoldásában?
3

Esetleg tudsz segíteni ennek

spapp · 2015. Jún. 23. (K), 16.24
Esetleg tudsz segíteni ennek megoldásában?

Ennek kettő útját látom:

1. Ide írogatod, hogy hol tartasz, mire jutottál és segítek, segítünk (gondolom mások is bekapcsolódnak majd) a megoldásban, hibajavításban.


2. Ha esetleg arra gondolsz, hogy valakivel megcsináltatnád, az is lehetséges, de szerintem az már másik rovat (munka/állás).
Nyitott vagyok arra is (gondolom mások is).
7

Összekaparom és bemásolom

opolczer · 2015. Jún. 24. (Sze), 08.15
Összekaparom és bemásolom hamarosan a kódot, hogyan is néz ki, köszi :)
4

pcntl

firith · 2015. Jún. 23. (K), 17.25
Ha unix környezetben fut a szerver akkor ezt keresed:

http://php.net/manual/en/function.pcntl-fork.php
5

Fordítva?

Poetro · 2015. Jún. 23. (K), 21.47
Nem lehetne esetleg fordítva? Mármint a gép, mikor bekapcsolódik, pingeli, és minden percben később is a szervert, hogy él és virul?
6

Az ötlet jó, de az a baj

opolczer · 2015. Jún. 24. (Sze), 08.13
Az ötlet jó, de az a baj ezzel, hogy sokféle gép van (Linux/Win/IP-CAM/Switch) és nem biztos hogy mindre tudok ilyet írni.

De most elgondolkodtam... Ha még jobban megfordítjuk, és a szerver cron-ból futtatva pingel percenként és egy állományba írja, hogy él-e vagy nem...

Meggondolom hogy ezzel letudjam-e, vagy szenvedjek kicsit a fenti ötlettel és azzal mondjuk tanulok is. :)
9

Csináltam egy webadmin

Poetro · 2015. Jún. 24. (Sze), 08.52
Csináltam egy webadmin felületet, aminek van egy PC menedzselés felülete is (PC ki-be kapcsolás újraindítás stb...).

Ha ezeket tudod vezérelni, akkor azokon futni kell valamilyen alkalmazásnak, vagy be kell jelentkezni azokra a gépekre. Egy HTTP kérést minden platformon elég egyszerűen meg lehet oldani, például curl-lel, innen továbblépni sem bonyolult, hogy ezt tegyék meg percenként.
11

Bár értem a logikát, hogy

Hidvégi Gábor · 2015. Jún. 24. (Sze), 10.45
Bár értem a logikát, hogy miért ajánlod, de nem tudom, mire jó ez, hisz annyiszor több munkával jár, ahány egység van.
10

Egy ilyen script azért

spapp · 2015. Jún. 24. (Sze), 08.54
Egy ilyen script azért annyira nem bonyolult, és szerintem ezzel is fogsz tanulni.
egy kis segítség

Arra figyelj, hogy a script ne fusson többször.
Előfordulhat, hogy a script futása nem ér véget addig, míg a cron újra elindítaná.
példa

Ötlet:
Még azt is megteheted, hogy adatbázisba rögzíted az egyes szerverek ping adatait. Pl. a mysql paranccsal
8

Ahogy fentebb írták is, a

mako · 2015. Jún. 24. (Sze), 08.33
Ahogy fentebb írták is, a legegyszerűbb AJAX-szal elindítani a kéréseket.
Mivel asszinkron, így egyszerűen meg tudod oldani, hogy ahonnan visszajött a válasz, azt kiírod.
12

Timeout

janoszen · 2015. Jún. 24. (Sze), 13.07
1. tekerd lejjebb a timeoutot a pingen. Realisan belso halozagon 1ms korul kellene lennie a pingnek, ha tehat beallitasz 1 masodpercet, boven jo vagy.
2. ha nagyon kiserletezos kedvedben vagy, elforkolhatod a PHP-t es parhuzamosan hajthatod vegre a pingeket. Ehhez viszont kicsit el kell melyedned a rendszer szintu programozas rejtelmeiben, ugyhogy nem is linkelek doksit, guglizd ki magadnak.