codez Posted August 17, 2011 Report Share Posted August 17, 2011 Vispār jau pareizākā pieeja būtu nevis to darbietilpīgo darbu veikt tajā pieprasījumā, ko pieprasa klients, bet gan tikai ierakstīt padarāmo darbu rindā un tad palaist background procesu (vai arī šāds process jau ir palaists un fonā čeko jaunus darbus), kurš šo darbu pilda un raksta statusu kaut vai db (rēali ne biežāk kā reizi dažās sekundēs). Un tālāk jau ar jaxu var čekot darba procesu. Jo savādāk, viss darbs paliks pusdarīts, ja pēkšņi lietotājs izdomās navigēt uz citu lapu. Quote Link to comment Share on other sites More sharing options...
entu Posted August 18, 2011 Author Report Share Posted August 18, 2011 Tomēr arī glabāšana datubāzē nesanāk. Vislaiku ieraksti netiek pievienoti, bet tikai tad, kad process ir beidzies, visi ieraksti ievietojas. Mēģināju ar PHP defaulto mysql, gan ar CodeIgniter DB bibliotēku. Tā notiek uz servera, bet localhostā strādā kā nākas. Quote Link to comment Share on other sites More sharing options...
codez Posted August 18, 2011 Report Share Posted August 18, 2011 Skaties vai nav transakcijas ieslēgtas, tad pēc katra kverija vajag COMMIT uztaisīt. Quote Link to comment Share on other sites More sharing options...
entu Posted August 18, 2011 Author Report Share Posted August 18, 2011 Pirms kverija palaišanas izslēdzu transakcijas ar $this->db->trans_off(), bet tikuntā visi rezultāti pašās beigās tiek samesti db. Pati funkcija, kura skaita un raksta procentus datubāzē ir izsaukta kā callback funkcija, ja vien tas ir no svara. Quote Link to comment Share on other sites More sharing options...
entu Posted August 22, 2011 Author Report Share Posted August 22, 2011 Atkal esmu atgriezies pie šīs lietas un kautkā tomēr nesanāk šie risinājumi tik dēļ tā ka, visas izmaiņas uzreiz tiek izdarītas, kad garais process ir beidzies, bet ne piemēram uz katra procenta, kurš izpildās x laikā. Uz lokalhosta strādā labi, bet uz servera ne. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted August 22, 2011 Report Share Posted August 22, 2011 Slinkums meklēt, bet pamēģini pamainīt ko php.ini. Skaidrs ir tas, ka konfigurācija produkcijas serverim no 'localhost' atšķiras. Quote Link to comment Share on other sites More sharing options...
entu Posted August 22, 2011 Author Report Share Posted August 22, 2011 php.ini failu man neredzēt kā savas ausis :D Quote Link to comment Share on other sites More sharing options...
daGrevis Posted August 22, 2011 Report Share Posted August 22, 2011 Pirmkārt, sūdīgs hosts. :D Otrkārt, dažas vērtības Tu vari nomainīt ar .htaccess vai ini_set(). Quote Link to comment Share on other sites More sharing options...
Lynx Posted August 23, 2011 Report Share Posted August 23, 2011 Pamēģini izmantot session_write_close(); šādi iespējams uzreiz izsaukt sesijas ierakstīšanu pat no koda vidus: for ($i = 0; $i < 10; $i++) { session_start(); $_SESSION['asd'] = $i; session_write_close(); } 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.