PHP párhuzamosítás
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!
■ 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!
A rövid válasz: igen, lehet
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.
A rövid válasz: igen, lehet
Esetleg tudsz segíteni ennek megoldásában?
Esetleg tudsz segíteni ennek
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).
Összekaparom és bemásolom
pcntl
http://php.net/manual/en/function.pcntl-fork.php
Fordítva?
Az ötlet jó, de az a baj
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. :)
Csináltam egy webadmin
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.
Bár értem a logikát, hogy
Egy ilyen script azért
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
Ahogy fentebb írták is, a
Mivel asszinkron, így egyszerűen meg tudod oldani, hogy ahonnan visszajött a válasz, azt kiírod.
Timeout
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.