HTTP-Async reviews

RSS | Module Info

HTTP-Async (0.09) ****

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.

HTTP-Async (0.07) ****

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.