Jump to content
php.lv forumi

Proxy Error


Recommended Posts

Baigi dinamiskie tie dokumenti? Ja nav, tad jāpadomā, kā vienu dokumentu iedot vairāk kā vienam kientam.

Vai taisīt kind of pieprasījumu sistēmu, lai bekgroundā var veidot dokumentus un pēc pāris minūtēm dot linku, kur lejupielādēt.

Vēl, ja, piemēram, tie dokumenti katram unikāli un klienti nav daudz.. tb, ja viņi jāģenerē bez klientu optioniem norādītiem dinamiski, tad var katram jau gatavu ik pa stundai uzģenerēt un pēc pieprasījuma dot pēdējo gatavo.

Link to comment
Share on other sites

Kādi būtu risinājumi būtu, lai varētu izveidot Excel dokumentu, kuru izveidei prasa ilgāk par minūti, ja tad tiek padots caur onClinck notikumu?

Nu jājautā kas tad rada to minūti? Nejau paša excel ģenerācija (kas ir ms jautājums).

Vai tas ir DB sql pieprasījums? Vai php kods pēc tam? Vai SQL ir pareizs (tiek izmantoti indeksi) Vai DB pieprasījumu var preģenērēt temporārās tabulās? Vai php kods ir optimāls? utt

Link to comment
Share on other sites

Nu jājautā kas tad rada to minūti? Nejau paša excel ģenerācija (kas ir ms jautājums).

Vai tas ir DB sql pieprasījums? Vai php kods pēc tam? Vai SQL ir pareizs (tiek izmantoti indeksi) Vai DB pieprasījumu var preģenērēt temporārās tabulās? Vai php kods ir optimāls? utt

 

Kā jau agrāk minēju, ka tas laiks ir atkarīgs no datu daudzuma. Tas var izpildīties gan 1 sekundē, gan 10 minūtēs.

Ir kods, kurš nolasa kritērijus no DB un tad notiek php koda izpilde, kurš ģenerē Excel dokumenta saturu.

 

Piemērs, kāds tiek izveidots Excel dokumenta saturs:

<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
 <LastAuthor> </LastAuthor>
 <Created>1996-10-14T23:33:28Z</Created>
 <Version>11.9999</Version>
</DocumentProperties>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
 <WindowHeight>9300</WindowHeight>
 <WindowWidth>15135</WindowWidth>
 <WindowTopX>120</WindowTopX>
 <WindowTopY>120</WindowTopY>
 <AcceptLabelsInFormulas/>
 <ProtectStructure>False</ProtectStructure>
 <ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
 <Style ss:ID="Default" ss:Name="Normal">
  <Alignment ss:Vertical="Bottom"/>
  <Borders/>
  <Font/>
  <Interior/>
  <NumberFormat/>
  <Protection/>
 </Style>
</Styles>
<Worksheet ss:Name="DATI">
 <Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="4" x:FullColumns="1"
  x:FullRows="1">
  <Row>
   <Cell><Data ss:Type="String">Nr.</Data></Cell>
   <Cell><Data ss:Type="String">Pilsēta</Data></Cell>
  </Row>
  <Row>
   <Cell><Data ss:Type="Number">1</Data></Cell>
   <Cell><Data ss:Type="String">Rīga</Data></Cell>
  </Row>
  <Row>
   <Cell><Data ss:Type="Number">2</Data></Cell>
   <Cell><Data ss:Type="String">Jelgava</Data></Cell>
  </Row>
  <Row>
   <Cell><Data ss:Type="Number">3</Data></Cell>
   <Cell><Data ss:Type="String">...</Data></Cell>
  </Row>
 </Table>
 <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
  <Selected/>
  <ProtectObjects>False</ProtectObjects>
  <ProtectScenarios>False</ProtectScenarios>
 </WorksheetOptions>
</Worksheet>
</Workbook>

 

Šeit ir kods. Un style.php kods

Link to comment
Share on other sites

Nu šis kods ir jāprofilē (vai nu ar automātiskiem tooļiem aka xdebug vai vienkārši paprintējot kodā ārā laikus, vai paliekot die('aa'); lai saprastu kurā vietā sākas bremzīgās lietas).. tev tur ir krietni daudz kveriji un krietni daudz nosacījumu - nepieciešams noskaidrot, kuros gadijumos sanāk un kam izpildīties 10min.

Tīri datu pārsūtīšana no DB nevar aizņemt 10min, jo, pieņemsim, ka sterveris stāv uz 100nieka, tad DB nu average varētu izspiest 2+- Mb/sec šaubos vai tev excel dokuments aizņem ~1Gb.. Un ja tomēr aizņem tad diezko labi tas nav :)

Link to comment
Share on other sites

×
×
  • Create New...