Vilken linje visar vad? tycker det verkar jättespännandeHaraldTH wrote:Jag har experimenterat med att rita en graf över ens framsteg i Turf (finns tidig prototyp här som visar mina framsteg i den innevarande omgången).
För att få underlag till grafen anropar jag i första hand http://api.turfgame.com/v3/user/(användarnamn). Jag anropar även http://api.turfgame.com/v3/zones/id:(zo ... :(zonid_n) varje gång det första anropet returnerar en eller flera zoner som inte redan är cacheade i min databas. Tidigare anropades API:et så ofta som varannan minut men jag insåg att jag fick mycket mer data än jag behöver för att rita en graf då. Nu har jag dragit ner anropsfrekvensen till var sjuttonde minut men frekvensen kan förmodligen dras ner ytterligare, jag ska låta den nuvarande frekvensen vara ett tag för att se vilken inverkan det har på presentationen av grafen.
Tung belastning på API
-
- Posts: 605
- Joined: 16 Nov 2012 00:27
- Country: Sweden
- Location: Umeå
Re: Tung belastning på API
I'M BACK!!! Åtminstone tills knät strejkar igen (augusti 2017)
Re: Tung belastning på API
Chip
TurfNotify hämtar anropar api:et varje 120000 ms (2m). och det som hämtas då är http://api.turfgame.com/v3/rss?count=100, alltså de senaste 100 tagna zonerna. Dessa lagrar jag sedan i min database så jag kan se vem som tog och vem som förlorade en zone. Detta görs bara en gång oavsett om det är en eller tusentals (hybris) som använder appen.
Sedan så anropar jag oxå varje gång någon användare går in på appen. Då hämtar jag info om alla användare som de har i sin lista.
Hoppas att det är ok, Jag kan dra ner lite på det hela genom att polla mer sällan än varje 2:e minut. Vet ej hur många zoner det tas i minuten, men om det är mer än 50 stycken så kommer jag missa att någon tagit och tappar zoner om jag höjer tiden.
/J
TurfNotify hämtar anropar api:et varje 120000 ms (2m). och det som hämtas då är http://api.turfgame.com/v3/rss?count=100, alltså de senaste 100 tagna zonerna. Dessa lagrar jag sedan i min database så jag kan se vem som tog och vem som förlorade en zone. Detta görs bara en gång oavsett om det är en eller tusentals (hybris) som använder appen.
Sedan så anropar jag oxå varje gång någon användare går in på appen. Då hämtar jag info om alla användare som de har i sin lista.
Hoppas att det är ok, Jag kan dra ner lite på det hela genom att polla mer sällan än varje 2:e minut. Vet ej hur många zoner det tas i minuten, men om det är mer än 50 stycken så kommer jag missa att någon tagit och tappar zoner om jag höjer tiden.
/J
Turf Divisions - Spela Turf i seriespel. http://turfdivisions.se/
Re: Tung belastning på API
Då har vi gjort ett litet förslag på förbättring ang. takeovers:
api.turfgame.com/unstable/takeovers/2013-04-11 18:25:00
man kan alltså plocka takeovers från en viss tidpunkt och slipper därmed titta hela tiden. I svaret ingår ett timestamp när svaret skapades, så kan man fråga från det datumet nästa gång.
Kom gärna med feedback.
Max svar är 500st
api.turfgame.com/unstable/takeovers/2013-04-11 18:25:00
man kan alltså plocka takeovers från en viss tidpunkt och slipper därmed titta hela tiden. I svaret ingår ett timestamp när svaret skapades, så kan man fråga från det datumet nästa gång.
Kom gärna med feedback.
Max svar är 500st
--No Private Messages please, use contact@turfgame.com instead.--
Re: Tung belastning på API
...öppnar ju upp för att man kan specialstudera vem som helst i spelet långt tillbaks i tiden...
Mobile: Samsung S7| Location: Västerås / Stockholm
Re: Tung belastning på API
Har man ju kunnat länge, alltså lagra undan vilka som tagit vilka zoner i sin egna databas vilket jag gör. Fast jag tömmer den då och då för jag har inget intresse för att spara allt.SunYour wrote:...öppnar ju upp för att man kan specialstudera vem som helst i spelet långt tillbaks i tiden...
Men om man bara får tillbaka 500 träffar så blir det ganska många frågor mot databasen för att få ut långt tillbaka i tiden, så jag tycker inte att det gör något för man kan ju få tag på info enda om man vill ha från nu och långt fram i tiden tgenom att lagra undan själv.
Ska testa att anropa detta api i stället för det jag har nu. Då kan jag köra var tionde minut inställt för varannan.
/j
Turf Divisions - Spela Turf i seriespel. http://turfdivisions.se/
Re: Tung belastning på API
Jag föreslår att tidstämplar i stället skrivs enligt ISO 8601 standard med "T" i stället för mellanslag:Drassen wrote:Då har vi gjort ett litet förslag på förbättring ang. takeovers:
api.turfgame.com/unstable/takeovers/2013-04-11 18:25:00
man kan alltså plocka takeovers från en viss tidpunkt och slipper därmed titta hela tiden. I svaret ingår ett timestamp när svaret skapades, så kan man fråga från det datumet nästa gång.
Kom gärna med feedback.
Max svar är 500st
http://api.turfgame.com/unstable/takeov ... 1T18:25:00
Så slipper vi tänka på URL-kodning. Ser att länken redan fungerar, så det är bara utdatat som behöver justeras. (Det samma borde gälla hur övriga API:er levererar tidsstämplar)
Sedan anser jag att attribut och taggar i XML ska skrivas med bindesträck (-) i stället för understräck (_), men det är en stil ni verkar ha i alla API:er så det kanske inte bör ändras.
Det är problem med content-type headern. Den är bara rätt (text/xml; charset="utf-8") en gång per minut vid upprepade laddningar av samma sida, övriga laddningar ger "text/html". Jag gissar att ni har en cache på en minut någonstans, det tyder också datat som levereras på.
Den kanske viktigaste frågan är hur kombinationen tidstämpel med sekundupplösning i to_date och gränsen på 500 takes hanteras? Om fler takes sker under samma sekund, kan man då få samma take fler gånger eller tappa bort vissa takes?
- GuteLappen
- Posts: 328
- Joined: 23 Sep 2012 10:13
- Country: Sweden
- Location: Gotland, Sweden
- Contact:
Re: Tung belastning på API
Samma zon kan väl inte tas flera gånger samma tid, eftersom TO tiden är ca 30 sekunder.AJ_ wrote:Om fler takes sker under samma sekund, kan man då få samma take fler gånger eller tappa bort vissa takes?
Du kanske inte menar så, men när det sker flera TO samma sekund så tas väl alla TO med som har den TO tiden, så du lär få med samma svar i överlappet om du frågar på samma sluttid som ditt senaste sista svaret du fick.
Lösningen kan vara att lägga på en sekund på din nästa fråga på ditt senaste sista posten.
Oj vad konstig svenska det blev, hoppas ni fattar vad jag menar...
Re: Tung belastning på API
Den svarta visar mina poäng, den blå visar hur många poäng jag behöver ta i snitt för att nå mitt mål för omgången, den röda visar min placering i topplistan och den gröna visar PPH.affanicaffan wrote: Vilken linje visar vad? tycker det verkar jättespännande
Re: Tung belastning på API
Det är just det som är frågan. Tas flera zoner under samma sekund i slutet av intervallet riskerar man att inte få med takes om man lägger på en sekund i nästa fråga om gränsen på 500 är konstant.GuteLappen wrote:... men när det sker flera TO samma sekund så tas väl alla TO med som har den TO tiden, så du lär få med samma svar i överlappet om du frågar på samma sluttid som ditt senaste sista svaret du fick.AJ_ wrote:Om fler takes sker under samma sekund, kan man då få samma take fler gånger eller tappa bort vissa takes?
Lösningen kan vara att lägga på en sekund på din nästa fråga på ditt senaste sista posten.
Jag skulle hellre sett ett id av något slag för att hantera "sidbrytningar".
Re: Sv: Tung belastning på API
För min del är det bara att överlappa med någon minut, det är ju så jag gör just nu. Jag får flertalet zoner som jag redan har lagrat men det sorterar jag bort på min sida.AJ_ wrote:Det är just det som är frågan. Tas flera zoner under samma sekund i slutet av intervallet riskerar man att inte få med takes om man lägger på en sekund i nästa fråga om gränsen på 500 är konstant.GuteLappen wrote:... men när det sker flera TO samma sekund så tas väl alla TO med som har den TO tiden, så du lär få med samma svar i överlappet om du frågar på samma sluttid som ditt senaste sista svaret du fick.AJ_ wrote:Om fler takes sker under samma sekund, kan man då få samma take fler gånger eller tappa bort vissa takes?
Lösningen kan vara att lägga på en sekund på din nästa fråga på ditt senaste sista posten.
Jag skulle hellre sett ett id av något slag för att hantera "sidbrytningar".
Vad är det du vill ha api:et till?, nyfiken.
Skickat från min ZTE-BLADE via Tapatalk 2
Turf Divisions - Spela Turf i seriespel. http://turfdivisions.se/