| Module Info
| Add a review of HTTP-Async
Small, fast, and easy to use. With HTTP::Async, I'm able to download about 50 (small) images per second to a ramdisk.
The "info()" method for human-friendly status reports is a nice touch.
I find just one feature lacking, which is the ability to not collect the responses and completely ignore them. In my use-case, both my client and the server update the same database, providing another communication channel. This limitation can still be easily worked around by polling "wait_for_next_response()" and throwing away the return value.
Overall, recommended as a asynchronous HTTP library.
I've just found myself with a list of 12000 URLs to retrieve. I remembered the slowness of fetching a few hundred using LWP, and I remembered messing with POE and finding it too much like hard work.
I also remembered a lightning talk at YAPC::Europe about HTTP::Async. The talk made the module look easy to use and fast. After a quick scan through the module's documentation, I'm using its Polite subclass and happily downloading the URLs at a fair rate.
The module's interface extends LWP, which I already know, and it's making my slow ADSL connection and old laptop feel even more antiquated than usual. HTTP::Async does its job well: parallelisation without having to think.