BT

InfoQ Homepage News Article: Using Ruby Fibers for Async I/O: NeverBlock and Revactor

Article: Using Ruby Fibers for Async I/O: NeverBlock and Revactor

Bookmarks
In this article, we interview the maintainers of two projects that use Ruby 1.9's Fibers to make non-blocking I/O easy to use.

After Rails is finally on track to be threadsafe, the use of non-blocking I/O is necessary to make the most of running multiple Rails requests in one Ruby instance. The problem: some of the current database adapters block during the runtime of a database request. By using the non-blocking versions of the database drivers and using Fibers to make the process as transparent as possible, the Neverblock library allows to keep the Rails runtime busy. Starting out with a PostgreSQL driver, MySQL support is now available. We talked to Mohammad A. Ali from the Neverblock project.

A more longterm solution for scalability is the use of Erlang-style Actors. Revactor aims to provide Actors on Ruby 1.9 using Fibers. We talked to Tony Arcieri, the creator of the project.

Read the interviews in the article "Using Ruby Fibers for Async I/O: NeverBlock and Revactor".

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • typo

    by Leonid Maslov /

  • typo

    by Leonid Maslov /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    proivde => provide

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.