SQL uitvoeren en pagina's toch laden
Ik heb geen beschikking over cronjobs,
en elk uur voert mijn site een groot aantal scripts uit waarbij hij langs alle gebruikers gaat.
hierdoor komt het wel eens voor dat de pagina dan niet laadt, omdat hij er te lang over doet om de scripts uit te voeren denk ik.
is er een manier om de pagina te laten laden terwijl de scripts nog bezig zijn?
Grtz,
Alex
Wat ik vragen wat voor scripts je dan elk uur uitvoert?
en via een andere query betaald hij ze elk half uur afhankelijk van hoeveel workers ze op bijvoorbeeld hun goud mijn of kogel fabriek hebben..
vandaar..
volgens mij heeft kings of chaos wel zo'n soort systeem waarbij hij de pagina laadt terwijl wel de ranks van alle gebruikers worden geupdate..
zou het niet beter zijn, als je gewoon de gegevens van de gebruiker update als ze inloggen?:)
ook moet iedereen op hetzelfde moment hun soldaten krijgen
(die query doet hij eens per dag)
anders zou je iemand aan kunnen vallen terwijl hij eigenlijk veel meer soldaten hoort te hebben.
allemaal van dit soort dingen zorgen ervoor dat het wel nodig is om het te doen zoals ik het nu doe..
Anders weet ik het ook niet
ik heb totaal geen ervaring met ajax :P vandaar..
Update het gewoon als ze inloggen...
Quote:
Dat is dus alleen van belang als de attack page opgevraagd wordt. Met andere woorden, pas op dat moment voer je dus de query/queries uit die controleren en er eventueel voor zorgen dat deze pagina up-to-date is.aangezien de attack page up-to-date moet blijven
Quote:
Hier precies hetzelfde. Dit is pas van belang zodra iemand aanvalt/aangevallen wordt. Voer deze query dus pas uit zodra dit van toepassing is.ook moet iedereen op hetzelfde moment hun soldaten krijgen
(die query doet hij eens per dag)
anders zou je iemand aan kunnen vallen terwijl hij eigenlijk veel meer soldaten hoort te hebben
(die query doet hij eens per dag)
anders zou je iemand aan kunnen vallen terwijl hij eigenlijk veel meer soldaten hoort te hebben
Kortom, het is echt niet nodig om deze queries elk half uur uit te voeren. Kijk bijvoorbeeld naar 's nachts, hoeveel mensen zijn er dan online om te spelen? Dan is het waarschijnlijk ook niet nodig om die gegevens te updaten.
het zou dus niks uitmaken of hij het alleen dan update, of elk uur..
verder weet ik dat het kan door kings of chaos.. daar doet de server er gewoon wat langer over om te updaten (ranks update duurt 5 minuten) maar de ranks van alle 50,000 spelers worden wel geupdate,
en de pagina's worden ook gewoon geladen terwijl hij update..
BuMp
Dat werkt dus NIET, je kan niet pas updaten als iemand inlogd en/of de pagina aanroept, sinds je ook te maken hebt met de andere spelers die geupdate gegevens nodig hebben.
Ik weet ook niet zo goed wat een mogelijke oplossing is. Omdat je geen cronjobs kan gebruiken zal je iets moeten proberen met een 'tijd' script op een database. Dat je dus zeg maar elke keer controleerd wanneer er is geupdate mocht dat langer dan een uur zijn, dan roept de server jouw update script aan.
maar die server waar jij het over hebt zal wel cronjobs kunnen gebruiken..
en op de andere..
en als jij in 1 script de complete database wilt updaten ja dat gaat wel even duren.. is het niet verstandiger om dit op te splitsen in onderdelen die elkaar aanroepen als ze zelf zijn gefinished..
kzet het maar veel simpeler dan het is hoor maar ik bedoel het volgende principe:
eerst ga je updaten ja noem maar wat..
de health van de spelers.. als die klaar is het goud.. dan blablabla
dan krijg je een ketting van scripts die het zooitje updaten
snapje?
dan heb je kortere en waarschijnlijk gaat het dan ook veel sneller.. dingen die de gebruikers niet direct zien of nodig hebben.. bewaar je voor het laatst.. maar uiteindelijk is alles geupdate zonder dat alles hangt of dat iedereen moet wachten..
Gewijzigd op 01/01/1970 01:00:00 door Marvin S
Kijk daar eerst eens naar, dat scheelt je namelijk altijd weer
Quote:
daar doet de server er gewoon wat langer over om te updaten (ranks update duurt 5 minuten) maar de ranks van alle 50,000 spelers worden wel geupdate,
1) Een query van 5 minuten voor 50.000 records, dat is niet overdreven snel. 'Erg langzaam' is een beter begrip.
2) Wie heeft deze 50.000 gegevens op dat moment nodig? Het lijkt mij sterk dat er iemand is die alle 50.000 records langs gaat lopen.
3) Ik zou in PostgreSQL triggers inbouwen om de de benodigde records, en dat zijn er geen 50.000, bij te werken.
4) Voor dit soort zaken heb je nooit cron-jobs nodig. punt.
ja dat ook zeker weten
daarom snapte ik dit ook niet helemaal