Я использую Coro::Mysql, вполне рабочее рабочее решение для mysql.<br>Достоинства в том, что оно не форкатется (насколько я знаю, AnyEvent::DBI для этого делает форк), просто засовываешь в async свой запрос, он и будет рабоать асинхронно.<br>
<br>Некоторые тонкости: нельзя делать (по случайности или еще как-то) второй раз unblock на $dbh.<br>Второе: каждый хэндлер хоть и работает асинхронно, тем не менее не может отправить два запроса сразу и ждать на каждый из них ответ. Поэтому нужно быть аккуратным с использованием хэндлеров к базе -- либо использовать семафоры для разграничения доступа, либо создавать при необходимости новый коннект.<br>
<br>P. S. Ходят слухи, что у PostgreSQL есть нативное асинхронное API. Я не проверял, но можете поковыряться.<br><br><div class="gmail_quote">2011/5/7 Social Fog <span dir="ltr"><<a href="mailto:socialfog@mail.ru">socialfog@mail.ru</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>Привет всем,<br><br>Можно ли сделать так, чтобы DBI execute или do сразу отдавали управление <br>без блокировки и ожидания ответа mysql?<br><br>Я пока нашел Coro::Mysql - кто нибудь его пробывал?<br><br><br></div>
<br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br>