Autor Zpráva
Petr Myšák
Profil *
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
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
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 *
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
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
Toto téma je uzamčeno. Odpověď nelze zaslat.

0