Autor | Zpráva | ||
---|---|---|---|
Petr Myšák Profil * |
#1 · Zasláno: 14. 3. 2007, 21:24:38
Ahoj, mam takovy script: Prohlizi pomoci regularnich vyrazu nekolik vzdálených webu a porovnáná jestli se neobjevila nejká změna v novinkách (ukládá si ji do souboru a porovnává) kdyz narazi na zmenu, tak odesle email.
Vse by fungovalo, ale narazil jsem na technický problém, zakaznich chce tuto akci opakovat kazdou minutu a tech testovanych stranek je asi 30. To je neunosne pro server a nestiha to. Stihne mi tak akorat cca 5 stranek za minutu. Pozadavek je ale 30, jak to mam vyresit, nejaky zpusob....?????? Jestli by se to nejak urychlilo, kdyby se ukladalo do databaze a ne do souboru - jestli by to bylo dostatecne urychleni. |
||
djlj Profil |
#2 · Zasláno: 14. 3. 2007, 21:30:48
tech testovanych stranek je asi 30. Stihne mi tak akorat cca 5 stranek za minutu.
Tak to máš asi blbě napsaný. Zkus případně i nastavit timeout pro připojení… |
||
nightfish Profil |
#3 · Zasláno: 14. 3. 2007, 21:31:43
RSS, cesta životem
zparsovat 30 RSS feedů za minutu by snad nemusel být takový problém jinak parsování 5 stránek za minutu se mi zdá velmi pomalé - na čem to ztratí nejvíc času? (čekání na data, samotný parsing...) |
||
Petr Myšák Profil * |
#4 · Zasláno: 14. 3. 2007, 22:02:23
neni to rss, nemam s tim zkusenosti a ani nevim, jestli by to slo? Je to proste nejaky web, napr: http://finance.yahoo.com/q?s=chid.ob&x=0&y=0 a tamty novinky ktere se vyvesuji. Je to udelane klasicky pres regular , cast:
function cReex($InpText, $RegExp) { $this->RE="(".$RegExp.")(.*)$"; $this->Text=$InpText; $this->arFound=array(); while(eregi($this->RE,$this->Text,$regs)) { array_push($this->arFound,$regs[1]); $this->Text=$regs[2]; }; } i nacitani tech webu si myslim, ze netrva zrovna dlouho, taky to urcite straci cas na ukladani do souboru. |
||
nightfish Profil |
#5 · Zasláno: 14. 3. 2007, 22:07:48 · Upravil/a: nightfish
Petr Myšák
kousek pod tím grafem je odkaz Download data (http://download.finance.yahoo.com/d/quotes.csv?s=CHID.OB&f=sl1d1t1c1o hgv&e=.csv), který vrátí data v CSV takže složité parsování je zbytečné (pokud teda to CSV obsahuje všechny potřebné údaje) i nacitani tech webu si myslim, ze netrva zrovna dlouho, taky to urcite straci cas na ukladani do souboru. myslet znamená houby vědět... je potřeba to změřit |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0