Autorius Tema: .load() funkcijos problema - pending statusas  (Skaityta 941 kartus)

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
.load() funkcijos problema - pending statusas
« Įrašytas: 2013-07-24 08:06:38 am »
Sveiki,
Taip jau nutiko, kad turiu sistemą, kuri turi kas 10 sekundžių siųsti užklausą į tam tikrą adresą ir taip nuo 1 iki 100 kartų.. Taip žinau, tai yra idiotizmas, bet ant php to nepadarysiu iškarto, nes turėsi žiauriai limitus sukelti ( max execution time, limit'us ir t.t. ). Viskas kaip ir ok būtų, tačiau jei php lėčiau apdorojo užklausą ( vyksta tam tikras tikrinimas, generavimas.. Viso 2 užklausos iškart arba jų gali būti n skaičius.. )
Ech, dar trumpiau tai turiu tvarkaraštį, kuriame turi būti sugeneruojamos pamokos mokykloje, tačiau visų iškart negaliu, nes kiekvieną reikia patikrinti ar jos limitas per savaitę nepasiektas ir ar tokios pat pamokos nėra toje dienoje :) Tad gal kas turit pasiūlymų kaip galima greičiau tai padaryti? Atsisakyti jQuery galiu, tačiau vėl - problema, kad pasiekiami limitai iškart yra

Neprisijungęs vitalikaz

  • Dalyvis
  • **
  • Įrašai: 895
  • Karma: +59/-2
  • Tikėk kuo tiki
    • Žiūrėti profilį
    • blast.lt
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #1 Įrašytas: 2013-07-24 09:46:35 am »
Asmeniškai aš nelabai pagavau problemos :) yra PHP skriptas, kuris vykdomas ilgai, ir nori jį vykdyti porcijomis, kad neviršytum max_execution_time? Jeigu jau yra toks rimtas skaičiavimas (ar tikrai? gal patį skaičiavimą galima ženkliai optimizuot?), tai siūlau bandyti lygiagretinti (jeigu hostinge/vps'e yra daugiau negu 1 core'as) - paleidinėti vienu metu kelis php procesus iš command line'o, o jie jau kad tarpusavy nesipjautu. Tokius procesus tapogi gali paleidinėti per php skriptą. Arba naudoti nuo PHP 5.4. atsiradusius thread'us. Arba kokią kitą "thread'ų" realizaciją sugalvot/panaudot. Arba tiesiog padidinti tą max_execution_time - nieko tame blogo, jeigu tas didelis skriptas nevykdomas kas minutę :)
BlaST
Serveriai.lt paslaugos su 50% nuolaida!
Blast.lt blogas

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #2 Įrašytas: 2013-07-24 09:53:58 am »
Na ok kitaip šiek tiek pasakysiu :) ( rytas visgi.. :D )

Realiai turiu tvarkaraštį sugeneruoti, o kartu įsivertinau, kad tai atliks ne viena mokykla tuo pačiu metu, todėl į pagalbą pasitelkiau jQuery funkciją .load(), kuri nusiunčia į nuorodą pamokos numerį ir klasės id, todėl čia viskas ok, tačiau su php atlieku du while ciklus, tai yra išgaunu vis kitą rezultatą kol viena iš dviejų sąlygų yra netenkinama ( kol yra dar viena tokia pamoka toje pačioje dienoje ir kol viršyja pamokos limitą ). Pamokas su php išgaunu random būdu. Atlikęs šiuos veiksmus php turi padaryti update užklausą į database ir spausdinti pamokos pavadinimą, kurį .load() gražina į tvarkaraštį.

Problema tame, kad php per ilgai krauna visus tuos dalykus, tai yra gaunasi timeout'as, nes viršytas max execution time (tiesa, serveriai.lt net duomenų bazė užlūžta :D), tad vėl galvoju kame replės.. Realiai pasidariau viską paprastai ir viskas veikė iki kol pridėjau tikrinimą dėl limito, tačiau žinojau, kad limitą reikia gerai optimizuoti, bet.. arba blogai jį padariau arba nežinau :D

PHP limito tikrinimas: (CodeIgniter framework)
$group_id = $this->uri->segment(4);
        $this->db->where(array(
            'school_id' => $this->session->userdata('school_id'),
            'group_id' => $group_id
        ));
        $this->db->where(1,$lesson_id);
        $this->db->or_where(2,$lesson_id);
        $this->db->or_where(3,$lesson_id);
        $this->db->or_where(4,$lesson_id);
        $this->db->or_where(5,$lesson_id);
        $this->db->or_where(6,$lesson_id);
        $this->db->or_where(7,$lesson_id);
        $this->db->or_where(8,$lesson_id);
        $this->db->or_where(9,$lesson_id);
        $this->db->or_where(10,$lesson_id);
        $count = $this->db->get('1_4_schedule')->num_rows();
        if($count < $limit)
        {
            return TRUE;
        }else{
            return FALSE;
        }
Realiai čia pereina per įrašus tik, o jų yra 5, kurie gali bet kokiu atvėju tenkinti sąlygą.. O kas keisčiausia, kad generuoja kokias 9 pamokas ir tada .load() visada nueina į pending statusą, ko pasekoje turiu bug'ą :)

ps. Nebežinau net kaip daugiau paaiškinti :D Jei dabar nesuprasit, tai parodysiu kur prisijungti ir pasižiūrėti patiems :)

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #3 Įrašytas: 2013-07-29 17:59:11 pm »
O gal geriau panagrinėti, kas pas tave tiek užtrunka? Nes nežinau, kokias ten pasaulio paslaptis atskleidinėji, kad tiek reikia – gal tiesiog neefektyviai darai. Parodyk daugiau kodo.

Beje, tame, ką parodei, tai būtų protingiau tiesiog naudoti $lesson_id >=1 AND $lesson_id <= 10, argi ne?

Manualai.lt Forumas

Ats: .load() funkcijos problema - pending statusas
« Atsakymas #3 Įrašytas: 2013-07-29 17:59:11 pm »

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #4 Įrašytas: 2013-07-29 21:10:21 pm »
Tai būtent ir parašiau kodą, kuris tiek užtrunka :)
Atskleidinėju paprastas - tvarkaraštis mokykloms...

Nebūtų, nes $lesson_id yra string tipo su tam tikra reikšme ;)

Visas kodas:

<?php /**
 * Get a random lesson
 * @return mixed
 */
function random_lesson_class_1_4()
{
    
$lesson $_GET['lesson'];
    
$this->db->order_by('RAND()');
    
$data $this->db->where('school_id',$this->session->userdata('school_id'))->get('1_4_plans')->row_array();

    
$this->lesson_limit_check_class_1_4($data['id'],$data['weekly']);
    while(
$this->day_check_class_1_4($data['id'],$lesson) == FALSE || $this->lesson_limit_check_class_1_4($data['id'],$data['weekly']) == FALSE){
        
$this->db->order_by('RAND()');
        
$data $this->db->where('school_id',$this->session->userdata('school_id'))->get('1_4_plans')->row_array();
    }

    
$day_data $this->lesson_array();
    
$day $day_data[$lesson]['day'];
    
$group_id $this->uri->segment(4);

    
$this->db->where(array(
        
'day' => $day,
        
'school_id' => $this->session->userdata('school_id'),
        
'group_id' => $group_id
    
));
    
$this->db->update('1_4_schedule',array($day_data[$lesson]['lesson'] => $data['id']));

    
$this->db->where(array(
        
'school_id' => $this->session->userdata('school_id'),
        
'id' => $this->uri->segment(4)
    ));
    
$this->db->update('1_4_groups',array('schedule' => 1));
    return 
$data['name'];
}

/**
 * Check if the lesson was not found in the day
 * @param $lesson_id
 * @param $lesson_no
 * @return bool
 */
function day_check_class_1_4($lesson_id,$lesson_no)
{
    
$day_data $this->lesson_array();
    
$day $day_data[$lesson_no]['day'];
    
$group_id $this->uri->segment(4);
    
$this->db->where(array(
        
'day' => $day,
        
'school_id' => $this->session->userdata('school_id'),
        
'group_id' => $group_id
    
));
    
$row $this->db->get('1_4_schedule')->row_array();
    if(!
in_array($lesson_id,$row)) return TRUE;
    else return 
FALSE;
}

/**
 * Check for the limit in the week of lesson
 * @param $lesson_id
 * @param $limit
 * @return bool
 */
function lesson_limit_check_class_1_4($lesson_id,$limit)
{
    
$this->db->where(array(
        
'school_id' => $this->session->userdata('school_id'),
        
'group_id' => $this->uri->segment(4)
    ));
    
$this->db->where(1,$lesson_id);
    
$this->db->or_where(2,$lesson_id);
    
$this->db->or_where(3,$lesson_id);
    
$this->db->or_where(4,$lesson_id);
    
$this->db->or_where(5,$lesson_id);
    
$this->db->or_where(6,$lesson_id);
    
$this->db->or_where(7,$lesson_id);
    
$this->db->or_where(8,$lesson_id);
    
$this->db->or_where(9,$lesson_id);
    
$this->db->or_where(10,$lesson_id);
    
$count $this->db->get('1_4_schedule')->num_rows();
    if(
$count $limit)
    {
        return 
TRUE;
    }else{
        return 
FALSE;
    }
}
?>

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #5 Įrašytas: 2013-07-31 18:55:28 pm »
Kas yra 1_4? Kokia duomenų bazės struktūra? Kiek įrašų?

Vykdai užklausas cikle – jau negeras ženklas. RAND() yra lėtas. Galų gale, profilink + logink užklausas kartu su jų laikais :)

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #6 Įrašytas: 2013-07-31 20:57:47 pm »
Taip ir darau, o ciklas ir yra bėda :)
1_4 tai prefix'as yra, o struktūra paprasta ten ir nieko mandro nėra ;)

Anyway, šis darbas kaip ir nuplaukia, nes papraščiausiai per ilgai viskas užtrunka bet kokiu atvėju :)

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #7 Įrašytas: 2013-08-01 19:04:06 pm »
Taip ir darau, o ciklas ir yra bėda :)
1_4 tai prefix'as yra, o struktūra paprasta ten ir nieko mandro nėra ;)
Na tai jei logini užklausas, tai turi matyti, kas daug trunka (daug užklausų? viena didelė? etc.) ir tą optimizuoti (jei duotum čia tikras užklausas, struktūrą, galbūt ir duomenis, kaip sakiau, labai padėtų).

Kas per prefixas, vis tiek nesupratau ;)

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #8 Įrašytas: 2013-08-01 19:25:31 pm »
Tai ir daviau tikras užklausas :D

Prefix'as specifinis ;)

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #9 Įrašytas: 2013-08-01 20:08:29 pm »
Tai ir daviau tikras užklausas :D

Tikras SQL užklausas. Apskritai, paimi, sulogini visas SQL užklausas, kurias daro sql requestas, kartu su laikais, ir meti čia :)

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #10 Įrašytas: 2013-08-01 20:14:02 pm »
SELECT *
FROM (`1_4_schedule`)
WHERE `school_id` =  '8492e70cc15abd96c355982b94f9411fcc0b435e4eba0b8af22605ba36f07e6d'
AND `group_id` =  '64b2537d8a819ef66fa79eabc85a8a60bfb23c43658ccbbda73e2bdd6ff2cc9a'
AND `1` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'
OR `2` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'
OR `3` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'
OR `4` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'
OR `5` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'
OR `6` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'
OR `7` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'
OR `8` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'
OR `9` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'
OR `10` =  '658439eee1b22817e9c7fdf440901de7037d692e2c0b23b243fb63eb74a6ce51'

Ir ne viena būna ;)

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #11 Įrašytas: 2013-08-01 20:22:01 pm »
Na ir nieko daugiau nedavei – nei schemos, nei kiek duomenų yra, nei kiek laiko trunka. Arba paaiškink, kodėl tau tas ciklas reikalingas, kodėl negali SQL to paties padaryt.

Tiesa, kodėl tavo ID ne numeriai, o (panašu, kad hex) stringai? Nesakau, kad tame esmė, bet turėtų kažkiek irgi mušt performance.
« Paskutinį kartą keitė: 2013-08-01 20:27:52 pm sukūrė justinas »

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #12 Įrašytas: 2013-08-01 20:31:33 pm »
Realiai dabar nieko smarkiai negaliu duoti, nes projektas atiduotas kitam žmogui, kuris peržiūri.

Realiai dabar tikrai negaliu surašyti ( šiek tiek laikas spaudžia ) kodėl, kas ir kaip čia, bet yra esmė tame, kad:

man reikia sugeneruoti tvarkaraštį nuo 5 iki 100 dienų, kur pamoka negali būti 2 kartus dienoje ir kiekviena pamoka negali viršyti n skaičiaus per savaitę. Per dieną taip pat negali viršyti x pamokų :)

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #13 Įrašytas: 2013-08-01 20:37:43 pm »
Realiai dabar nieko smarkiai negaliu duoti, nes projektas atiduotas kitam žmogui, kuris peržiūri.

Realiai dabar tikrai negaliu surašyti ( šiek tiek laikas spaudžia ) kodėl, kas ir kaip čia, bet yra esmė tame, kad:

man reikia sugeneruoti tvarkaraštį nuo 5 iki 100 dienų, kur pamoka negali būti 2 kartus dienoje ir kiekviena pamoka negali viršyti n skaičiaus per savaitę. Per dieną taip pat negali viršyti x pamokų :)
Paaiškink pačią sistemos esmę: automatinis mokinių pasirinktų pamokų sudėstymas į tvarkaraščius (lengvini darbą mokyklų pavaduotojams ugdymui)? Ar tau tikrai reikia tai daryti būtent realiu laiku? Ar yra daugiau sąlygų, nei parašei (sutapimas su kitų mokinių tvarkaraščiais, etc.)?

Žodžiu, esmė ta, kad tau reikia algoritmo (o ne jQuery ar PHP ar SQL fixų :) )

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #14 Įrašytas: 2013-08-01 21:01:47 pm »
Kolkas dirbu su 1-4 klasėmis, todėl lentelės ir turi prefix'ą tokį :)

Taip, realiai man reikia sudelioti mokiniams tvarkaraštį ;) O sąlygų kolkas daugiau nėra

Galiu daryti ir ne realiu laiku, tačiau taip dar greičiau su php pasieki tą patį 300 sec. limitą..

Žinau, kad reikia algoritmo, bet esmė ta, kad jį turiu ( jau koks 8-tas variantas čia :D ), bet jis man visada kažkur kliūna :) Realiai teko domėtis ir buvo pasakęs ne vienas, kad su grynu php neatliksi to arba reikalaus nežmoniškų resursų serverio, kas buvo bloga naujiena ir projektą sustabdė... O dabar asmeniškai pats noriu iš sportinio sumetimo įveikti šitą bėdą :D

ps. Kol kas tik šiuo vieninteliu būdu pavyko išgauti geriausius rezultatus :)
« Paskutinį kartą keitė: 2013-08-01 21:13:24 pm sukūrė Modestas Vaitkevičius »

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #15 Įrašytas: 2013-08-02 14:03:53 pm »
Kolkas dirbu su 1-4 klasėmis, todėl lentelės ir turi prefix'ą tokį :)

Taip, realiai man reikia sudelioti mokiniams tvarkaraštį ;) O sąlygų kolkas daugiau nėra

Galiu daryti ir ne realiu laiku, tačiau taip dar greičiau su php pasieki tą patį 300 sec. limitą..

Žinau, kad reikia algoritmo, bet esmė ta, kad jį turiu ( jau koks 8-tas variantas čia :D ), bet jis man visada kažkur kliūna :) Realiai teko domėtis ir buvo pasakęs ne vienas, kad su grynu php neatliksi to arba reikalaus nežmoniškų resursų serverio, kas buvo bloga naujiena ir projektą sustabdė... O dabar asmeniškai pats noriu iš sportinio sumetimo įveikti šitą bėdą :D

ps. Kol kas tik šiuo vieninteliu būdu pavyko išgauti geriausius rezultatus :)
Ne prefix'as, o suffix'as.

Jei limitą pasieki – tai didink. Jei shared'e tą darai, tai nešk kailį iš ten :) Na, tada belieka praktikuotis algoritmavimą (man irgi to reiktų :) ). Ne PHP bėda čia tikrai (tie žmonės šneka nesąmones), nėra kažkokių stebuklingų dalykų.

Nesuprantu, kur trukti penkias minutes. Apskritai, jei yra tik tiek sąlygų, kiek davei, tai eini iš eilės ir dėlioji tas pamokas... Toks visiškai vaikiškas skriptas (python, bet galima bet kuo):
from pprint import pprint

dalykai = [
    ['lietuviu', 5],
    ['matematika', 4],
    ['anglu', 2],
    ['kuno k.', 2],
]

dienu = 5
max_per_d = 3

tvarkarastis = [ [] for i in range(dienu)]

for dalykas in dalykai:
    # kiekvienam dalykui

    for i in range(dalykas[1]):
        # kiekvienai dalyko pamokai
        diena = i
        # ieskom dienos, kuri nebutu pilna
        while len(tvarkarastis[diena]) >= max_per_d and diena < len(tvarkarastis) - 1:
            diena += 1
        tvarkarastis[diena].append(dalykas[0])

pprint(tvarkarastis)

Turint omeny, kad nėra neįmanomų dalykų (pvz. šešios lietuvių pamokos per savaitę, bet nei vieną dieną nebūtų dviejų) ir nereikia tolygiai paskirstyti per dienas (savaitės pradžioje bus daugiausia ir tie patys dalykai iš eilės, tada vis mažiau) ir bus tik viena dalyko pamoka per dieną (kelioms pamokoms per dieną apskritai čia atvejo nėra).

Ai, visgi ne optimalus skriptas, corner cases yra (kaip pvz. gale gali sumest kelias pamokas vienodas, jei jų yra daug), bet vis tiek, tikrai ne 5 minučių runtime darbas :)

ir toks outputas:
[['lietuviu', 'matematika', 'anglu'],
 ['lietuviu', 'matematika', 'anglu'],
 ['lietuviu', 'matematika', 'kuno k.'],
 ['lietuviu', 'matematika', 'kuno k.'],
 ['lietuviu']]

Bet kažką nutyli, nežinau, tyčia, ar netyčia. :)
« Paskutinį kartą keitė: 2013-08-02 15:22:27 pm sukūrė justinas »

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #16 Įrašytas: 2013-08-02 14:09:37 pm »
Būtent, kad shared bus.. Nes realiai juk ne viena mokykla vienu metu naudosis... O kas liečia algoritmą - būtina ten jį tobulinti ir pačiam tobulėti ;)

Esmė tame, kad yra tas ciklas, kuris vis generuoja naują pamoką kol neatitinka limitų.. Nesugalvojau kaip kitaip generuoti, nes arba javascript arba php timeout'ai būna.. Realiai ir einu iš eilės delioti, tačiau kaip minėjau sudelioja iki kokių 10 pamokų, tai yra taip:
1,2,3,4,5
6,7,8,9,10
-,-,-,-,-
-,-,-,-,-

ir kur brūkšneliai - ten timeout'ą jau meta :)

Lyg ir nieko nebenutyliu... arba jau pats nebežinau :D

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #17 Įrašytas: 2013-08-02 14:21:35 pm »
Paredagavau praeitą pranešimą skriptu. Trunka apie 20 milisekundžių...

O jei daug kas naudosis tai kaip tik imk VPS/DS...

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #18 Įrašytas: 2013-08-02 14:55:15 pm »
Python labiau tinka, bet sakau su php netgi darant viską vienu metu ir viename array gaunu timeout'ą kažkodėl...

ps. Nejuokaukim su tokiu prikolu, nes mano 4 branduolių CPU vienas generavimas užkrauna iki 70%, o ram iš 12GB suvalgo ~7GB... Man kažkokia mistika ir tikrai nesueina galai...

Anyway, galvosiu dar vėliau jei pavyks padaryti, kad array generuotų kitokiais būdais, gal pavyks :)

Neprisijungęs justinas

  • Naujokas
  • *
  • Įrašai: 163
  • Karma: +16/-3
    • Žiūrėti profilį
Ats: .load() funkcijos problema - pending statusas
« Atsakymas #19 Įrašytas: 2013-08-02 15:01:35 pm »
Čia gi paprasčiausias elementų stumdymas į masyvus, čia tiesiog negali būti tokių dalykų kaip 5 minutės prieš sekundės dalį...  „Python labiau tinka“ yra nesąmonė, kad tiek skirtųsi. Visiškai tą patį galėjau parašyti su PHP.

Darkart: jei profilinai (ir kodą, ir SQL užklausas), tai jau turi žinoti, kas yra negerai. Apskritai, tokius dalykus daryti tiesiai SQL yra jau savaime klaida, nes atlieki turbūt šimtus užklausų. Pasidaryk algoritmą kaip aš su python, visiškai paprastą, su masyvais, paprastais objektais ir pamatysi, kad nėra čia kur užtrukt. O tada, kai jau susidėlioji, ir stumk į SQL.

Manualai.lt Forumas

Ats: .load() funkcijos problema - pending statusas
« Atsakymas #19 Įrašytas: 2013-08-02 15:01:35 pm »