tmac / async

An awesome asynchronous event-driven reactor for Ruby.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 for more details.

  • Getting Started - This guide gives shows how to add async to your project and run code asynchronously.

  • Asynchronous Tasks - This guide explains how asynchronous tasks work and how to use them.

  • Event Loop - This guide gives an overview of how the event loop is implemented.

  • Compatibility - This guide gives an overview of the compatibility of Async with Ruby and other frameworks.

  • Best Practices - This guide gives an overview of best practices for using Async.

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.

About

An awesome asynchronous event-driven reactor for Ruby.

License:MIT License


Languages

Language:Ruby 100.0%