Disconnect – ukončenie spojenia s db
- David Matějka
- Moderator | 6445
o ukonceni spojeni se stara PDO samo, k cemu to potrebujes?
EDIT: jinak by mohlo stacit unsetnout tu promennou
Editoval matej21 (11. 9. 2013 19:32)
- animack
- Člen | 19
matej21 napsal(a):
o ukonceni spojeni se stara PDO samo, k cemu to potrebujes?
EDIT: jinak by mohlo stacit unsetnout tu promennou
Pretože to používam vo websockete a po každej požiadavke na socket chcem ukončiť spojenie ak existuje a práve keď dám unset($database); tak beží ďalej.
- David Matějka
- Moderator | 6445
nebylo by lepsi pro vsechny pozadavky mit jedno sdilene spojeni? aby se nemuselo porad navazovat?
- animack
- Člen | 19
matej21 napsal(a):
nebylo by lepsi pro vsechny pozadavky mit jedno sdilene spojeni? aby se nemuselo porad navazovat?
S persistant pripojením sú problémy, keď padne mysql server, keď sa pre nejakú príčinu ukončí a zistiť, či teda som pripojený… pre to je jednoduchšie ak nieko pošle niekto do socketu a vyžaduje si to db tak ju spojiť a na konci príkazu ukončiť.
- David Matějka
- Moderator | 6445
tak me napada.. ono to bude asi slozitejsi nez to vypada.. protoze spojeni se uzavre pri destrukci PDO; a k tomu dojde ve chvili, kdy instance neni v zadne promenne. ALE Nette\Database\Connection se drzi v kazdem Selection a selection se drzi v activerow… takze pro destrukci budes muset zrusit vsechno tohle :)
EDIT: v 2.1 by stacila jednoducha uprava – metoda close(), ktera nastavi Connection::$pdo na null, bohuzel je to private, takze je nutny zasah do nette.
Editoval matej21 (11. 9. 2013 23:40)
- animack
- Člen | 19
matej21 napsal(a):
tak me napada.. ono to bude asi slozitejsi nez to vypada.. protoze spojeni se uzavre pri destrukci PDO; a k tomu dojde ve chvili, kdy instance neni v zadne promenne. ALE Nette\Database\Connection se drzi v kazdem Selection a selection se drzi v activerow… takze pro destrukci budes muset zrusit vsechno tohle :)
EDIT: v 2.1 by stacila jednoducha uprava – metoda close(), ktera nastavi Connection::$pdo na null, bohuzel je to private, takze je nutny zasah do nette.
Používam poslednú verziu z gitu, novšie než 2.1 a skúšal som to cez nový class a nastavil znova to pdo a pridal close method ale to nastavenie na null nepomohlo.
- thunderbuff
- Člen | 164
po nastavení na null nebo unsetu můžeš zkusit zavolat garbage collector (http://php.net/…t-cycles.php)
Ale zda to pomůže, to nevím