Я использую 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
