Új hozzászólás Aktív témák

  • jeges

    senior tag

    válasz Speeedfire #223 üzenetére

    ezt úgy lehetne megoldani, hogy a php-kód minden csomag elküldése után küld egy jelet a kliensnek (ez a "jel" aztán megjelenik a kliens valami div-jében). a kliensen mondjuk másodpercenként lekérdezed, hogy mi van a php-kód kimenetén, és ha változás van, jelzed a felhasználó felé, ha meg nincs, akkor valami timeout (mondjuk 15 másodperc) után leállítod a programot.
    setInterval() fv alkalmas kliens oldalon az ütemezett lekérdezésre

    a kódok felépítése valahogy így nézne ki:

    js:
    1) szöveg küldése a php-nak, php-kód indítása - ez az ajax hívás
    2) felület tiltás (modális ablak vagy fedőréteg)
    3) ütemezett lekérdezés, mi van a php-kód kimeneti div-jében
    4) a. ha a kimenet változik, elküldött levelek újraszámolása, frissítés a felhasználó felé
    4) b. ha elértük a 3000-et (100%-ot), örülünk és leállítjuk a kódot
    4) c. ha nem értük el a 100%-ot és timeouton túl nincs változás, leállítjuk a futást és megkérjük a júzert, hogy később próbálja újra vagy vegye fel a kapcsolatot a helpdesk-kel

    php:
    1) a js hívására a kapott szöveg alapján tömbönként elkezdjük kiküldeni a leveleket
    2) minden elküldött tömböt tárolunk adattáblában, és minden elküldött tömb után küldünk jelet a kliensnek az elküldött levelek vagy tömbök számáról
    3) a. ha végeztünk, leállunk (valami spec "vége" jel a kliensnek)
    3) b. timeout - ez asszem automatikus szerver-oldalon (legalábbis php/apache esetében emlékeim szerint van valami automatizmus, ami leállítja a végtelen ciklusba került kódot), de őszintén megmondom, nem tudom most fejből.

Új hozzászólás Aktív témák