Я использую Coro::Mysql, вполне рабочее рабочее решение для mysql.
Достоинства в том, что оно не форкатется (насколько я знаю, AnyEvent::DBI
для этого делает форк), просто засовываешь в async свой запрос, он и будет
рабоать асинхронно.

Некоторые тонкости: нельзя делать (по случайности или еще как-то) второй раз
unblock на $dbh.
Второе: каждый хэндлер хоть и работает асинхронно, тем не менее не может
отправить два запроса сразу и ждать на каждый из них ответ. Поэтому нужно
быть аккуратным с использованием хэндлеров к базе -- либо использовать
семафоры для разграничения доступа, либо создавать при необходимости новый
коннект.

P. S. Ходят слухи, что у PostgreSQL есть нативное асинхронное API. Я не
проверял, но можете поковыряться.

2011/5/7 Social Fog <[email protected]>

> Привет всем,
>
> Можно ли сделать так, чтобы DBI execute или do сразу отдавали управление
> без блокировки и ожидания ответа mysql?
>
> Я пока нашел Coro::Mysql - кто нибудь его пробывал?
>
>
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить