Autor Zpráva
Šuter
Profil
Zdravím,

Mám odpočítavadlo v javascripte, ktoré po uplynutí času updatne tabuľku v mysql.
Odpočet trvá 30 sekúnd, všetko ide v pohode keď som na stránke, čas sa odpočíta, tabuľka sa updatne a refresne sa stránka. Druhý prípad je keď odídem zo stránky napr. na 5 sekúnd a vrátim sa, tak odpočet je tiež menší o 5 sekúnd. Toto je v poriadku.
Ale keď začne odpočet a vypnem prehliadač a prídem na web za 5 minút, tak odpočítavadlo si skontroluje "áno už ubehol čas, tak updatnem tabuľku" , ale to až po tých 5 minutách.
Nedá sa nejako spraviť, že sa to samé updatne po uplynutí času bez toho aby bol užívateľ na webe?

Ďakujem.
Anonymní
Profil *
No pokud je to něco fakt důležitějšího a závisí na tom funkce a nefunkce nějakých prvků webu rozhodně bych to neřešil přes javascript (běží na straně klienta - může si ho jakkoliv upravovat, vypínat atd atd..) ale spíše na straně serveru - jediné co mě teď napadá je vyřešit to pomocí Cronu (S tím osobně nemám zkušenosti). Nebo ještě lépe napiš co konkrétně potřebuješ udělat a třeba najdeme lepší řešení
Šuter
Profil
Riešim tak výstavbu budov. Užívateľ klikne a dá stavať budovu, tým pádom sa zapne "Stavebná smyčka" kde je napísané aká budova sa stavá a je tam ten javascript odpočte, ktorý vyťahuje čas kedy bude budova postavená z mysql (defaultne mám 30 sekúnd). Ukazuje mi odpočet vo formáte HH:MM:SS.
Po uplynutí času sa vytiahne z DB, aká budova sa práve teraz stavá a na aký stupeň sa stavá a podľa toho tú budovu updatne v DB. A nakoniec tú "Stavebnú smyčku" vypne.

Keď som celých 30 sekúnd na stránke je to v pohode, ale keď zruším stránku a prídem za 5 min, tak až potom to updatne tú budovu.
tiso
Profil
Šuter: „ale keď zruším stránku a prídem za 5 min, tak až potom to updatne tú budovu.
A to je nejaký problém? Bude ti tá budova tých 4,5 minúty chýbať, keď na tej stránke aj tak nie si?
Všeobecne sa takéto úlohy riešia dvomi spôsobmi, použijem príklady z Tra-via-nu:
Vytvoríš si frontu úloh.
1. Po príchode návštevníka sa spätne dopočíta kedy nejaká úloha mala byť dokončená a porobia sa príslušné zmeny v DB. Čiže zmeny sa robia až keď ich je treba (prihlásim sa, niekto druhý vyšpehuje moju dedinu, niekto druhý na mňa zaútočí). Treba si dávať pozor na nadväzujúce zmeny (zmení sa produkcia obilia, takže napríklad majú začať umierať ľudia pri zápornej produkcii, alebo má pretiecť sýpka skôr a podobne)
2. pravidelne pomocou cronu spúšťaš skript, ktorý vyberá úlohy z fronty ktoré sa majú práve teraz dokončiť a dokončí ich.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0