ugrás a tartalomhoz

lassú lekérdezés lapozás sehogyse

rrd · 2009. Ápr. 1. (Sze), 16.02
Le kell kérnem egy szervertől API-n keresztül kb 2-300 objektumot. Egyszerre csak egyet lehet lekérdezni. A Válasz egyik paramétere alapján kéne őket sorba rendeznem és megjelenítenem.

Ha lekérem egyben a 300 adatot akkor nagyon lassan lesz kész, a usernek kinő a szakálla mire megjön a válasz.

Ha beteszek egy lapozót akkor meg nem tudom őket sorba rendezni úgy ahogyan kellene.

Van valami ötlet, hogy mit csináljak?
 
1

sorbarendezés

Poetro · 2009. Ápr. 1. (Sze), 16.41
Miért nem az APIval rendezteted sorba? Hogyan kérdezed le egyszerre a 300 adatot, ha egyszerre csak egyet lehet lekérdezni?
2

twitter rest api. adok neki

rrd · 2009. Ápr. 1. (Sze), 16.44
twitter rest api. adok neki egy id-t visszaadja a user ojjektumot. Nem kezel user tartományt vagy user tömböt. Van egy-egy curl hívás userenként, azaz összesen 300.
3

Saját API

Poetro · 2009. Ápr. 1. (Sze), 17.08
És mi lenne ha saját APIt csinálnál, ami lekérdezi a 300 usert, és egyben adja vissza? Akár cachelni is lehetne jópár percig, és akkor nem is lenne lassú. És szerver oldalon eleve gyorsabb lenne, mert nagyobb a sávszélessége.
4

tudom cachelni de a 300 user

rrd · 2009. Ápr. 1. (Sze), 17.15
tudom cachelni de a 300 user első lekérése akkor is lassú. Aztán 3 millió userből elég sok részhalmazt le lehet kérni, szóval nem fogom előre tudni, hogy épp melyik 300-ra lesz majd kíváncsi.

Valami másféle megoldás kellene. Több szálon futó curl vagy nemtommi.
5

Több szál

janoszen · 2009. Ápr. 1. (Sze), 21.56
Ha nem CLI-ből futtatod a PHP-t, akkor nincs több szál. :)

Egyébként látok egy pár megoldást:

  • Kibírod az első letöltést, addig progress bar a usernek
  • Építesz arra, hogy lesznek gyakran nézett bejegyzések, amik cachelődnek.
  • Lepaktálsz a Twitterrel (jó sok pénzért) hogy adjanak valami erőforrás-barátabb verziót.
  • Megírod C-ben a megfelelő modult a többszálas letöltéshez.
  • Nem építesz olyan szolgáltatást, aminek nincs meg a megfelelő háttere.
7

Az utolsóhoz annyit

rrd · 2009. Ápr. 2. (Cs), 10.51
Az utolsóhoz annyit megjegyeznék, hogy nem hiszek a lehetetlenben :)
8

c helyett

zila · 2009. Ápr. 2. (Cs), 14.10
Megírod C-ben a megfelelő modult a többszálas letöltéshez.

Vagy megírod cli php-ban, vagy megírod perl-ben, vagy megírod pythonban esetleg javaban a többszálú letöltőt :)