![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
GoDleSS |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 11.2.2007 Где: Пироговский Репутация: нет Всего: 2 |
Бодрого дня, коллеги!
Прошу помощи в поиске деталей проблемы[ и ее решении]. Есть простой PRC сервис на Mojolicious, в рабочем режиме запускает с помощью гипножабы для обеспечения многопоточности. В соответствии с рекомендациями в документации, соединения с 2 СУБД устанавливается в стартовом модуле через has Если упрощенно (в таком режиме проверял также):
В контроллере вызывается, соответственно:
С Oracle соединяется без проблем. Но понадобился еще и постгрес, т.к. есть сервер СУБД с ним, на котором "вкусные" данные лежат. С Postgresql соединение не устанавливается, никаких понятных ошибок не получаю и даже упаковка соединения в eval {} не спасает от смерти поток, который посмел постучать в сторону постгреса. Притом, соединение с постгресом с консоли perl -e 'use DBI; ...', из скриптов на чистом перле, с клиентов устанавливается "на ура". Бегает все добро на debian 6, perl 5.10.1, Mojolicious 3.40 Также запускал на debian 5, perl 5.10.0, Mojolicious 1.16 (или 1.14, не помню; с другой "оберткой" из-за изменений в Mojo) - проблема сохраняется. Запуск под родным daemon, под Morbo проблему не решают и больше данных не выдают. Выбить что-либо с помощью того же Devel::Backtrace не вышло. Решил пока проблему с помощью костыля (консольный вызов внешнего скрипта с аргументами, который возвращает данные упакованные в json). Но хотелось бы решить по человечески. Не очень понимаю в какую сторону далее думать - буду благодарен советам. Это сообщение отредактировал(а) GoDleSS - 14.9.2012, 13:22 --------------------
It's a nice day to die my friend! |
||||
|
|||||
krypt3r |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: нет Всего: 16 |
RaiseError => 1
DBI->connect (...) or die(DBI->errstr); Чтобы получить "внятные ошибки" |
|||
|
||||
GoDleSS |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 11.2.2007 Где: Пироговский Репутация: нет Всего: 2 |
Пробовал - бесполезно, не доходит до || die. С логированием:
В логе
и поток помер в случае гипножабы, в случае морбо надо перезапускать сервис - не отвечает. Это сообщение отредактировал(а) GoDleSS - 14.9.2012, 13:37 --------------------
It's a nice day to die my friend! |
||||||
|
|||||||
infarch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 13.3.2009 Репутация: нет Всего: 1 |
Попробуйте {RaiseError => 0}
|
|||
|
||||
Pfailed |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 2 Всего: 39 |
Посмотрите через strace что происходит
|
|||
|
||||
GoDleSS |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 11.2.2007 Где: Пироговский Репутация: нет Всего: 2 |
Спасибо! strace рассказал интересное.
Не сильно понимаю зачем постгресовскому клиенту сертификат, разве устанавливает защищенное соединение? И почему тогда точно такое же подключение из обычного (не mojolicious) скрипта устанавливается успешно? Тем не менее, попробовал по указанному в ошибке пути создать директорию и в ней линк на /etc/postgresql-common/root.crt
И сервис перестал выпадать что, как минимум, качественный рывок к прогрессу ![]() Это сообщение отредактировал(а) GoDleSS - 17.9.2012, 12:02 --------------------
It's a nice day to die my friend! |
||||||
|
|||||||
GoDleSS |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 11.2.2007 Где: Пироговский Репутация: нет Всего: 2 |
Окончательно победить удалось установив ключи для ssl-соединения согласно http://www.howtoforge.com/postgresql-ssl-certificates
Однако, в pg_hba.conf никаких требований относительно ssl не стоит и причину неожиданной потребности такого соединения из моджоликуса так и не понял. --------------------
It's a nice day to die my friend! |
|||
|
||||
DurRandir |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 1 Всего: 17 |
У вас откуда-то взялась опция sslmode при подключении клиента: http://www.postgresql.org/docs/9.1/static/...SL-CERTIFICATES. Я бы посмотрел через gdb, в каком месте она появляется, и отправил баг в соответствующий модуль:
а) что она появляется б) что он при этом падает |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |