php - What Code Runs After Executing a Dataflow Profile -
often, after executing dataflow import profile (for products), next request user makes in admin console slower normal requests. what's weird is, seems tied particular browser session. i.e. if you're logged admin console in browser, system responsive.
what code or processes running slow down subsequent magento requests? can think of dozen things (indexing, cron, etc.), i'm looking specific areas of code tie session, , code doing.
my guess in parser there loop on csv file updates session, on bright side @ least realized comment out initializing models in iteration loops , add them before:
class mage_dataflow_model_session_parser_csv extends mage_dataflow_model_convert_parser_abstract { public function parse() { $fdel = $this->getvar('delimiter', ','); $fenc = $this->getvar('enclose', '"'); if ($fdel=='\\t') { $fdel = "\t"; } // fixed multibyte characters setlocale(lc_all, mage::app()->getlocale()->getlocalecode().'.utf-8'); $fp = tmpfile(); fputs($fp, $this->getdata()); fseek($fp, 0); $data = array(); $sessionid = mage::registry('current_dataflow_session_id'); $import = mage::getmodel('dataflow/import'); $map = new varien_convert_mapper_column(); ($i=0; $line = fgetcsv($fp, 4096, $fdel, $fenc); $i++) { if (0==$i) { if ($this->getvar('fieldnames')) { $fields = $line; continue; } else { foreach ($line $j=>$f) { $fields[$j] = 'column'.($j+1); } } } $row = array(); foreach ($fields $j=>$f) { $row[$f] = $line[$j]; } /* if ($i <= 100) { $data[] = $row; } */ //$map = new varien_convert_mapper_column(); $map->setdata(array($row)); $map->map(); $row = $map->getdata(); //$import = mage::getmodel('dataflow/import'); $import->setimportid(0); $import->setsessionid($sessionid); $import->setserialnumber($i); $import->setvalue(serialize($row[0])); $import->save(); //unset($import); }
...
Comments
Post a Comment