![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
1) как сделать чтобы часть кода была во всех методах сразу при вызове (чтобы не писать одно и тоже)?
в других метода ошибка от use strict что $dbh не инициализирован.... 2) как уничтожыть соединение от бызы во всех методах $dbh->disconnect(); так по-моиму не правильно...
в документации написано нормально, но примеров реальных я не ивдел, не знаю как тут сделать.. кстате, не кто не видел большую программу на каталисте чтобы исходники посмотреть? Это сообщение отредактировал(а) gcc - 20.2.2009, 06:34 |
||||
|
|||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
зачем вам уничтожать соединение руками ? сервер дофига быстрый ? =)
вам нужно только
и далее делает что хотите.. зря что ли люди писали Model::DBI как не писать везде.. интересный вопрос. Вообще в OOP для этого используют наследование или делегацию. В Catalys - есть такая фича - если begin/end/process не определен в каком -то контроллере, то будет предпринята попытка вызвать его у корневого контроллера (тот который YourApp/Сontroller/Root.pm) определите свои методы. там. и при необходимости перекрывайте их (замечу еще раз - это не наследование!) Было бы клево, если бы вы проверили - Catalyst проходит при поиске действия все контроллеры в иерархии или только Root.pm |
|||
|
||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
тогда не надо писать $dbh->disconnect(); ? вот типо работает:
Это сообщение отредактировал(а) gcc - 20.2.2009, 06:39 |
||||
|
|||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
http://github.com/jrockway/angerwhale/blob...ller/Captcha.pm
подскажите, пожалуйста, что делают приватные методы, точнее как они вызываються? (именно код мне комментировать не надо) когда эти методы приватные вызываються и как? в других классах их не видно? не могу понять в чем смысл от этих методов?
Это сообщение отредактировал(а) gcc - 20.2.2009, 10:49 |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
gcc, ты имел в виду private actions ?
работают точно так же как и другие, но Catalyst не сопоставляет их ни с какими URL. Другими словами private action нельзя вызвать HTTP запросом, можно только из другого action.. наприрмер так:
Вообщем их можно вызывать через $c->forward $c->detach $c->visit |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
sir_nuf_nuf, спасибо, понял
этом примере по ссылке котрую я написал, они нигде не вызываються они в других контроллерах вызываються наверное... по первому посту такая ошибка: Caught exception in MyApp::Controller::Root->auto "DBD::mysql::st execute failed: MySQL server has gone away at /usr/local/lib/perl5/site_perl/5.8.8 /Catalyst/Plugin/Authentication/Store/DBI.pm line 175." появляется ошибка через раз... Это сообщение отредактировал(а) gcc - 20.2.2009, 14:22 |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
gcc, код смотреть.. как же еще )
|
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
извените, я плохо выразился
если это поставить, то такая ошибка...
|
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
gcc, "это" - это аттрибут Private ? В каком контроллере ?
|
|||
|
||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
sir_nuf_nuf, я нашел это не из-за privat
я ошибку нашел тут
если убрать $dbh то работает... но как отключатся от базы? Добавлено через 5 минут и 57 секунд
кстате, а какая разница в каком от контроллере? если метод check_captcha : Private не запускается в том контроллере где он есть... он где угодно может же запуститься, если я правильно понял... Это сообщение отредактировал(а) gcc - 20.2.2009, 14:46 |
||||
|
|||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
а зачем ? Если у вас mod_perl или FCGI - тогда наоборот надо поддерживать соединения для производительности. А если CGI - то они сами закроются. |
|||
|
||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
это "пул соединений"? когда его включаю на С++ прогармме и когда идет сбой, то MyISA таблица разваливается, и восстанавливатся не хочет, надо заходить в консоль MySQL и только руками восстанаваливать, "REPAID table" Добавлено @ 15:09
это точная информация? я когда-то сидел тестировал долго без метода дисконекта и сервер mysql мне ответил что "сервер гон" из-за того что много соединений висит... их конечно надо рубать, но на хостинге например только дается только определенное количество соединений в час... а потом не будет отвичать пользователю, таймаутов там нету почему-то Это сообщение отредактировал(а) gcc - 20.2.2009, 15:12 |
||||
|
|||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
кто знает скажи как дисконект сделать, может быть как-то можно переблагословить?
|
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
извените, не подумал что есть "уничтожитель" в Catalyst-Model-DBI
а подключение делать не надо, можно просто писать my $sth = $c->model(’DBI’)->dbh->prepare Это сообщение отредактировал(а) gcc - 22.2.2009, 17:32 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
все таки как отключиться от базы автоматически?
мне каталист говорил что превышен max_connect_user, что делать? это из-за того что нету $dbh->disconnect;? на сервер еще работает сайт на пхп, 1000 хостов - все номрально в Catalyst::Model::DBI видно:
я так понял что оно не разрывает соединение где-то? Это сообщение отредактировал(а) gcc - 2.8.2009, 14:36 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |