Ага, пасиб. И с ним можно работать по первому варианту?
Транзакций пока нет, но будут нужны. Пожалуй остановлюсь на 3-м варианте
> Еще можно на специальные пулы посмотреть, например, берешь коннект у
> пула, он гарантирует, что дал его только тебе, выполняешь на нем свою
> транзакцию, отдаешь обратно в пул.
ок, подумаю
пасиб
Но есть подозрение, что внутри pgbouncer примерно такой же код, как и
в async драйвере.
У меня все получилось по 3-му варианту, стресс-тесты работают, больше
ничего не падает.
Вот вылезут опять проблемы, тогда подумаю )
--
Страница рассылки: http://groups.google.com/group/erlang-russian
Новости: http://erlanger.ru
Написать письмо: erlang-...@googlegroups.com
Отписаться: erlang-russia...@googlegroups.com
--
Страница рассылки: http://groups.google.com/group/erlang-russian
Новости: http://erlanger.ru
Написать письмо: erlang-...@googlegroups.com
Отписаться: erlang-russia...@googlegroups.com
Нет, это усовершенствованый первый вариант. В третьем варианте
Connection спрятан внутри специального процесса и только этот процесс
выполняет запросы к базе.
12 июля 2012 г., 7:06 пользователь Alexandr Alexeev <afi...@gmail.com> написал:
> Вроде же можно функции передавать, нет? Путь передается функция, которая
> принимает в качестве параметра соединение и работает с ним в транзакции.
> Тогда вы не забудете освободить ресурс, а если постараться, то и транзакцию
> закрыть. (PS. Новичок в Erlang, так что извините, если пишу глупости).
>
Да, типа того. Только я передаю не функцию, а сроку, содержащую SQL
запрос, и параметры для него. Но лучше передавать функцию, если нужны
транзакции.
>> Под третьим вариантом ведь понимается пул коннектов?
>> Т.е. API у него навроде
>>
>> acquire(Pool) -> Connection
>> release(Pool, Connection) -> ok
>>
>> И если я сделал acquire, то из пула изымается один свободный коннект (если
>> свободных нет, то создается новый либо ждем освобождения) и выдается мне в
>> монопольное использование до тех пор пока я его не верну через release?Нет, это усовершенствованый первый вариант. В третьем варианте
Connection спрятан внутри специального процесса и только этот процесс
выполняет запросы к базе.
12 июля 2012 г., 7:06 пользователь Alexandr Alexeev <> написал: