werd Posted January 31, 2013 Report Share Posted January 31, 2013 Autoram - iesaku izmantot Magento esošo funkcionalitāti. Magento "kodolā" ir RSS modulis(app/code/core/Mage/Rss/), kas lieti noder par piemēru.Bet konkrētajā gadījumā gaidīt ~25 sekundes(aut.), lai katru reizi izvadītu nepieciešamo XML saturu ir dumji. Lūk piemērs(nedaudz gan atšķirās produkta atribūtu komplekts) - http://pastebin.com/AXamD8tz Iesaku uzlikt CRON procesu, kas šo failu pēc vajadzības(piemēram, reizi diennaktī) atjauno. Quote Link to comment Share on other sites More sharing options...
aaxc Posted January 31, 2013 Report Share Posted January 31, 2013 Pieļauju ka maldos ( sen bija tas laiks, kad taisīju ), bet man liekas, ka salidzini.lv prasīja biežak atjaunot datus. Zinu, ka es arī taisīju php scriptu, kas ģenerēja xml uz katru pieprasījumu. Bet tam i-veikalam arī preces mainījās / nāca klāt reizi stundā apmēram. Quote Link to comment Share on other sites More sharing options...
werd Posted January 31, 2013 Report Share Posted January 31, 2013 Pieļauju ka maldos ( sen bija tas laiks, kad taisīju ), bet man liekas, ka salidzini.lv prasīja biežak atjaunot datus. Zinu, ka es arī taisīju php scriptu, kas ģenerēja xml uz katru pieprasījumu. Bet tam i-veikalam arī preces mainījās / nāca klāt reizi stundā apmēram. Nav taču akmenī iekalts cik bieži atjaunot - ik stundu, ik minūti vai pēc produkta datu pievienošanas/atjaunošanas. It's up to You! Quote Link to comment Share on other sites More sharing options...
aaxc Posted January 31, 2013 Report Share Posted January 31, 2013 Tas vairāk bija raksta autoram domāts. Quote Link to comment Share on other sites More sharing options...
F3llony Posted January 31, 2013 Report Share Posted January 31, 2013 Vobshem to, ja jau lieta aiziet līdz tādam līmenim, CRON skripti te nafig nav vajadzīgi. Uzrakstam skriptu, kur sākumā notiek pārbaude, kad modificēts cache file, ja akrāk par (intervāls), tad ģenerējam XML, ievietojam failā, izvadam output. Ja fails modificēts intervāla ietvarā, izvadam faila saturu. Quote Link to comment Share on other sites More sharing options...
rATRIJS Posted January 31, 2013 Report Share Posted January 31, 2013 Tik to gjenereeshanu background taskaa savaadaak dazhi pieprasiijumi prasiis taas 25 sekundes... un ja jau ir background taski, tad to var novienkaarshot uz cronjob'iem... Quote Link to comment Share on other sites More sharing options...
F3llony Posted January 31, 2013 Report Share Posted January 31, 2013 Vai arī updeitojam XML tikai tad, kad reāli ir veiktas izmaiņas... Quote Link to comment Share on other sites More sharing options...
werd Posted January 31, 2013 Report Share Posted January 31, 2013 Vobshem to, ja jau lieta aiziet līdz tādam līmenim, CRON skripti te nafig nav vajadzīgi. Uzrakstam skriptu, kur sākumā notiek pārbaude, kad modificēts cache file, ja akrāk par (intervāls), tad ģenerējam XML, ievietojam failā, izvadam output. Ja fails modificēts intervāla ietvarā, izvadam faila saturu. Šajos gadījumos lietotājam/servisam būs jāgaida tās pašas 25 sekundes, ja notiek ģenerēšana :) Neredzu ieguvumu salīdzinājumā ar crontab. Quote Link to comment Share on other sites More sharing options...
marrtins Posted January 31, 2013 Report Share Posted January 31, 2013 Jebkurā gad 25sek uz 500 itemiem - tas ir kaut kas nenormāls. Quote Link to comment Share on other sites More sharing options...
codez Posted January 31, 2013 Report Share Posted January 31, 2013 Jebkurā gad 25sek uz 500 itemiem - tas ir kaut kas nenormāls. Viņš tur izmanto kaut kādu ORM, kas drošvien taisa bezmazvai 500 SELECTus vai kas tamlīdzīgs. Tāpēc tik lēni. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted January 31, 2013 Report Share Posted January 31, 2013 (edited) Parādi kurš ORM taisa 500 kverijus... :D Edited January 31, 2013 by daGrevis Quote Link to comment Share on other sites More sharing options...
codez Posted January 31, 2013 Report Share Posted January 31, 2013 Parādi kurš ORM taisa 500 kverijus... :DNu tak viņš kodu ielika.http://pastebin.com/7KvLDKdP foreach ($product->getCategoryIds() as $category_id) { $category = Mage::getModel('catalog/category')->load($category_id); Quote Link to comment Share on other sites More sharing options...
F3llony Posted January 31, 2013 Report Share Posted January 31, 2013 Šajos gadījumos lietotājam/servisam būs jāgaida tās pašas 25 sekundes, ja notiek ģenerēšana :) Neredzu ieguvumu salīdzinājumā ar crontab. Es teicu Izmaiņas... Kāpēc Tu uzreiz padomāji exportu no DB?. Nu tak viņš kodu ielika. http://pastebin.com/7KvLDKdP foreach ($product->getCategoryIds() as $category_id) { $category = Mage::getModel('catalog/category')->load($category_id); Iterators? ... Bet nu var jau būt, ka kāds lāme rakstījis... Quote Link to comment Share on other sites More sharing options...
rpr Posted January 31, 2013 Report Share Posted January 31, 2013 tur jau izskatās, ka produkti x5 selecti. katrs load un collection vēl uztaisa katram produktam selektu. katram produktam vēl x kategorijas selekti un citi pribambasi. Quote Link to comment Share on other sites More sharing options...
codez Posted January 31, 2013 Report Share Posted January 31, 2013 Iterators? ... Bet nu var jau būt, ka kāds lāme rakstījis... Nu tās 25 sekundes uz tiem 500 ierakstiem ļoti precīzi velk uz to, ka tiek taisīts selects katru reizi. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.