[ 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 | 4
NapísalOffline : 12.08.2009 15:48 | Premenna v cykle php

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 | 30
NapísalOffline : 12.08.2009 16:02 | Premenna v cykle php

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 | 4
Napísal autor témyOffline : 12.08.2009 16:07 | Premenna v cykle php

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: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 12.08.2009 16:10 | Premenna v cykle php

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 | 4
Napísal autor témyOffline : 12.08.2009 16:15 | Premenna v cykle php

Ď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: 3991
Témy: 96 | 96
NapísalOffline : 12.08.2009 16:19 | Premenna v cykle php

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 | 4
Napísal autor témyOffline : 12.08.2009 16:24 | Premenna v cykle php

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 | 37
Bydlisko: BegyBen
NapísalOffline : 12.08.2009 16:29 | Premenna v cykle php

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ý: 12.06.17
Príspevky: 1408
Témy: 28 | 28
Bydlisko: Bratislava
Vek: 36
NapísalOffline : 12.08.2009 16:34 | Premenna v cykle php

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


_________________
PC: OS: Windows 10 (64bit) CPU: INTEL Core i5-4440 GPU: ASUS ATI R9280X RAM: Kingston 8GB DDR3 1600MHz MB: MSI B85-G43 Gaming HDD: Seagate 1TB HDD Barracuda SSD: SAMSUNG 120GB HDD 840 EVO CASE: COOLERMASTER N400
Mobil: OS: Android 4.4.2 Model: LG G2 D802 16GB
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 | 4
Napísal autor témyOffline : 12.08.2009 16:43 | Premenna v cykle php

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 | 30
NapísalOffline : 12.08.2009 16:53 | Premenna v cykle php

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 | 4
Napísal autor témyOffline : 12.08.2009 16:57 | Premenna v cykle php

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: 3128
Témy: 233 | 233
Bydlisko: Nové Zámky
NapísalOffline : 12.08.2009 17:14 | Premenna v cykle php

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: 3991
Témy: 96 | 96
NapísalOffline : 12.08.2009 17:16 | Premenna v cykle php

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 | 4
Napísal autor témyOffline : 12.08.2009 17:24 | Premenna v cykle php

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: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 12.08.2009 17:26 | Premenna v cykle php

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 | 30
NapísalOffline : 12.08.2009 19:50 | Premenna v cykle php

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 | 4
Napísal autor témyOffline : 12.08.2009 20:35 | Premenna v cykle php

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: 3991
Témy: 96 | 96
NapísalOffline : 12.08.2009 21:43 | Premenna v cykle php

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


 [ Príspevkov: 19 ] 


Premenna v cykle php



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

352

27.09.2012 21:16

stenley

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

php premenna v JavaScripte

v JavaScript, VBScript, Ajax

9

620

10.08.2011 19:24

kudzo3

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

php fusion- prihlaseny uzivatel=premenna

v Redakčné systémy

2

558

25.02.2009 11:09

mokus

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

time() v cykle

v PHP, ASP

16

224

08.03.2016 10:26

neopagan

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

[C] Citanie integeru v cykle

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

14

247

15.11.2014 18:28

BX

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

premenna

v JavaScript, VBScript, Ajax

10

651

31.07.2008 17:35

chrono

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

Premenná

v PHP, ASP

7

443

24.08.2008 16:15

p360t

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

Premenna (int)

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

4

244

30.11.2010 12:54

capricorn7

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

Realna premenna

v Delphi, Visual Basic

1

403

06.11.2009 21:36

Fico

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

OOP, premenna

v PHP, ASP

1

432

26.10.2009 21:44

rooobertek

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

Najväčia premenná

v PHP, ASP

8

278

16.02.2010 20:48

janik366

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

premenna v Delphi

v Delphi, Visual Basic

1

952

21.04.2009 18:00

Fico

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

TEXTAREA a premenna

v PHP, ASP

3

226

13.03.2008 10:35

Blackshadow

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

premenna v url

v JavaScript, VBScript, Ajax

5

471

07.11.2009 11:50

johny694

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

Nevyuzita premenna C

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

7

200

05.04.2017 7:14

17mark

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

premenna do iframe

v PHP, ASP

2

116

17.11.2013 11:11

shaggy



© 2005 - 2017 PCforum, edited by JanoF