Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 19 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.08.09
Prihlásený: 30.04.12
Príspevky: 22
Témy: 4
Príspevok NapísalOffline : 12.08.2009 15:48

Pomocou AJAXu spustim daky vypocet a nasledne je spusteny casovac, ktory tiez pomocou AJAXu ziskava info o stave daneho vypoctu:
Kód:
...
function getSize(id) {
   ajax('../update/jobs.php?id='+id+'&action=size','size');
 }
...
ajax('../update/jobs.php?id='+id+'&action=start','count');
timer = window.setInterval("getSize("+id+")",500);
...


V jobs.php mam nasledovny kod (je to len demonstracia):
Kód:
...
if ($action == 'start') {
     
      for ($i=0; $i<100 000; $i++) {
          session_start();
          $_SESSION['count'] = $i;
           RobDacoIne();
          session_write_close();
      }

}

if ($action == 'size') echo $_SESSION['count'];
...



Tento sposob mi sice funguje, len problem je pomalost toho cyklu, co sposubuje to zapnutie a odoslanie session.

Ak ste nahodou nepochopili o co mi ide :), tak mi ide o to, ako ziskat hodnotu nejakej premennej z beziaceho scriptu, pricom dana premenna sa postupne incrementuje v cykle, ktoreho dlzku nepoznam dopredu. Proste potrebujem nejakym sposobom vyniest hodnotu premennej, ktora bezi v cykle v beziacom scripte. Skusal som si danu hodnotu zapisovat do subora a z neho som si ju jednoducho precital, ale zas bola problem rychlost. Cyklus sa vyrazne tym zapisom spomalil. Ten cyklus sa vzdy vykona minimalne 75 000 krat. Cez db som to este neskusal, bo 75K querys sa mi zda byt vela :)
Potesi ma kazda dobra rada :)


Offline

Užívateľ
Užívateľ
Premenna v cykle php

Registrovaný: 22.12.07
Prihlásený: 24.02.13
Príspevky: 227
Témy: 30
Príspevok NapísalOffline : 12.08.2009 16:02

Robíš chybu, keď zahájuješ SESSION v cykle, urob to pred a nebude ju musieť tak veľa krát spúšťať.







_________________
... no tak tu preistotu nenapíšem nič ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.08.09
Prihlásený: 30.04.12
Príspevky: 22
Témy: 4
Príspevok Napísal autor témyOffline : 12.08.2009 16:07

Lenze zapis do session sa neuzavrie skor ako skonci beh scriptu. Aby som session uzavrel, tak musim pouzit session_write_close. Ale pre dalsie pouzite session ich musim zas nastartovat. Tak preto som to dal pre skusku tak, ale je to velmi pomale :(


Offline

Čestný člen
Čestný člen
Premenna v cykle php

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 12.08.2009 16:10

session_write_close nepouzivaj, je to zbytocne. Nechapem ale, preco tam mas ten blaznivy cyklus, ked premenna $_SESSION['count'] sa ti furt len prepisuje, takze nakoniec tam mas aj tak len 100000.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.08.09
Prihlásený: 30.04.12
Príspevky: 22
Témy: 4
Príspevok Napísal autor témyOffline : 12.08.2009 16:15

Ďuri píše:
session_write_close nepouzivaj, je to zbytocne. Nechapem ale, preco tam mas ten blaznivy cyklus, ked premenna $_SESSION['count'] sa ti furt len prepisuje, takze nakoniec tam mas aj tak len 100000.

To bola len demonstracia. Ten cyklus neviem ako bude dlhy - ide o zlozity proces vypoctu, ktory prebieha v cykle WHILE. Do tej premennej $_SESSION['count'] si zapisujem udajo tom, ako daleko je vypocet. Ked to session_write_close nepouzijem, tak pri zavolani ajaxu pre ziskanie hodnoty COUNT sa mi vrati odpoved az po skonci behu toho scriptu, co mi je uz zbytocne.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96
Príspevok NapísalOffline : 12.08.2009 16:19

ako vraví antivir: session_start daj na začiatok, nie uprostred cyklu ...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.08.09
Prihlásený: 30.04.12
Príspevky: 22
Témy: 4
Príspevok Napísal autor témyOffline : 12.08.2009 16:24

Tominator píše:
ako vraví antivir: session_start daj na začiatok, nie uprostred cyklu ...

Uz sa budem opakovat: session sa neuzavrie skor ako sa dokonci beh scriptu. Ten script bezi cca 50 - 80 sekund.
Ja sa snazim ziskat hodnotu z beziaceho scriptu a z premennej COUNT v cykle. Bez pouzitia session_start a session_write_close to proste nejde. Budem rad aj nad inym riesenim - nemusi to byt cez session


Offline

Užívateľ
Užívateľ
Premenna v cykle php

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37
Bydlisko: BegyBen
Príspevok NapísalOffline : 12.08.2009 16:29

session_write_close() odstran a session_start(); daj pred ten cyklus. A ine riesenia, este stale nechapem co tym chces celym dosiahnut


Offline

Skúsený užívateľ
Skúsený užívateľ
Premenna v cykle php

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30
Bydlisko: Bratislava
Príspevok NapísalOffline : 12.08.2009 16:34

Dosiahnut tym chce to, ze uzivatel bude vidiet priebeh (kolko uz spracoval a kolko ostava)







_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.08.09
Prihlásený: 30.04.12
Príspevky: 22
Témy: 4
Príspevok Napísal autor témyOffline : 12.08.2009 16:43

Presne tak ako pise GoodWill, chcem zistit a ukazat stav
Premenna v cykle php


Offline

Užívateľ
Užívateľ
Premenna v cykle php

Registrovaný: 22.12.07
Prihlásený: 24.02.13
Príspevky: 227
Témy: 30
Príspevok NapísalOffline : 12.08.2009 16:53

Skús to urobiť tak, že v cykle ktorý sa opakuje veľa krát bude zabudovaná funkcia ECHO ($i); ktorá vlastne pracuje ako odozva pre AJAX volanie čo prebieha každú sekundu.







_________________
... no tak tu preistotu nenapíšem nič ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.08.09
Prihlásený: 30.04.12
Príspevky: 22
Témy: 4
Príspevok Napísal autor témyOffline : 12.08.2009 16:57

antivir píše:
Skús to urobiť tak, že v cykle ktorý sa opakuje veľa krát bude zabudovaná funkcia ECHO ($i); ktorá vlastne pracuje ako odozva pre AJAX volanie čo prebieha každú sekundu.

Skusal a nefunguje, lebo ajax caka na odpoved + header. To vsetko je poslane az na konci scriptu. Ked som to spravil tym sposobom, tak vsetky odpovede sa mi vratili az po skonceni vypoctu.


Offline

Užívateľ
Užívateľ
Premenna v cykle php

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3114
Témy: 233
Bydlisko: Nové Zámky
Príspevok NapísalOffline : 12.08.2009 17:14

Hm, zapisovat to do suboru asi tiez nebude extra rychle,ze? A zapis do DB ? V podstate by tam stacil jeden UPDATE
UPDATE tabulka SET aktual=$count WHERE nazov=nieco

a potom zistis to cez
SELECT aktual FROM tabulka WHERE nazov=nieco

Bolo by to pomale?







_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96
Príspevok NapísalOffline : 12.08.2009 17:16

podľa mňa SESSION by bolo 4x rýchlejšie :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.08.09
Prihlásený: 30.04.12
Príspevky: 22
Témy: 4
Príspevok Napísal autor témyOffline : 12.08.2009 17:24

Blackshadow píše:
Hm, zapisovat to do suboru asi tiez nebude extra rychle,ze? A zapis do DB ? V podstate by tam stacil jeden UPDATE
UPDATE tabulka SET aktual=$count WHERE nazov=nieco

a potom zistis to cez
SELECT aktual FROM tabulka WHERE nazov=nieco

Bolo by to pomale?


Do suboru je to hrozne pomale a zapis do db? Nad tym som tiez rozmyslal, ale bolo by to velmi velke mnozstvo dotazov. Takze by to nebolo asi tiez moc efektivne. Keby sa to dalo nejak do cache, ale jednoznacne session su asi najrychlejsie, len ten moj sposob zrovna nie :(


Offline

Čestný člen
Čestný člen
Premenna v cykle php

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 12.08.2009 17:26

A cookies? Asi nie, co?


Offline

Užívateľ
Užívateľ
Premenna v cykle php

Registrovaný: 22.12.07
Prihlásený: 24.02.13
Príspevky: 227
Témy: 30
Príspevok NapísalOffline : 12.08.2009 19:50

Duri,cookies sa uložia az po refreshnutí stránky.







_________________
... no tak tu preistotu nenapíšem nič ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.08.09
Prihlásený: 30.04.12
Príspevky: 22
Témy: 4
Príspevok Napísal autor témyOffline : 12.08.2009 20:35

Presne tak, cookies neprichadzaju do uvahy.

Ok, chalani, dakujem za snahu, ale sa nam to asi nepodari vyriesit - co uz, bude to teda bez toho ukazovatela priebehu.

Dik vsetkym este raz za nazor a postreh ;-)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96
Príspevok NapísalOffline : 12.08.2009 21:43

Ako ja tu nevidím iné riešenie, lebo ak musíš vypínať a zapínať session, tak to inak nevymyslíš. Ostatné metódy sú pomalšie


Odpovedať na tému [ Príspevkov: 19 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. PHP premenna

v PHP, ASP

17

688

27.09.2012 21:16

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php premenna v JavaScripte

v JavaScript, VBScript, Ajax

9

928

10.08.2011 19:24

kudzo3 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php fusion- prihlaseny uzivatel=premenna

v Redakčné systémy

2

717

25.02.2009 11:09

mokus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. time() v cykle

v PHP, ASP

16

440

08.03.2016 10:26

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [C] Citanie integeru v cykle

v Assembler, C, C++, Pascal, Java

14

501

15.11.2014 18:28

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. premenna

v JavaScript, VBScript, Ajax

10

965

31.07.2008 17:35

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Premenná

v PHP, ASP

7

633

24.08.2008 16:15

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Premenna (int)

v Assembler, C, C++, Pascal, Java

4

466

30.11.2010 12:54

capricorn7 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Realna premenna

v Delphi, Visual Basic

1

583

06.11.2009 21:36

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. OOP, premenna

v PHP, ASP

1

621

26.10.2009 21:44

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Najväčia premenná

v PHP, ASP

8

438

16.02.2010 20:48

janik366 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. TEXTAREA a premenna

v PHP, ASP

3

382

13.03.2008 10:35

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nevyuzita premenna C

v Assembler, C, C++, Pascal, Java

7

494

05.04.2017 7:14

17mark Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. premenna do iframe

v PHP, ASP

2

241

17.11.2013 11:11

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. premenna v url

v JavaScript, VBScript, Ajax

5

597

07.11.2009 11:50

johny694 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. premenna a switch

v PHP, ASP

2

406

07.01.2010 9:40

tyr Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra