/async

An awesome asynchronous event-driven reactor for Ruby.

Primary LanguageRubyMIT LicenseMIT

Async

Async is a composable asynchronous I/O framework for Ruby based on io-event and timers.

"Lately I've been looking into async, as one of my projects – tus-ruby-server – would really benefit from non-blocking I/O. It's really beautifully designed." janko

Development Status

Features

  • Scalable event-driven I/O for Ruby. Thousands of clients per process!
  • Light weight fiber-based concurrency. No need for callbacks!
  • Multi-thread/process containers for parallelism.
  • Growing eco-system of event-driven components.

Usage

Please see the project documentation.

Contributing

We welcome contributions to this project.

  1. Fork it.
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin my-new-feature).
  5. Create new Pull Request.

See Also

Projects Using Async

  • ciri — An Ethereum implementation written in Ruby.
  • falcon — A rack compatible server built on top of async-http.
  • rubydns — An easy to use Ruby DNS server.
  • slack-ruby-bot — A client for making slack bots.