andromeda
Andromeda is a ultra light weight multicore stream processing framework based on a small dataflow DSL
It is currently untested and undocumented.
Below is an example that writes events to a file and reads them back in, to give an idea of what it does:
require 'andromeda'
w = Andromeda::CommandoWriter.new path: '/tmp/some_file'
w << (Commando.new :test)
w << (Commando.new :test, weight: 40)
w << (Commando.new :test, height: 20)
w << :close
r = Andromeda::CommandParser.new path: '/tmp/some_file'
# make r process events using a global thread pool of num_cpus threads
r.pool = :global
t = Andromeda::Tee.new
# make r output to t
r >> t
# start reading
r << :start
# t will log to a Logger.new(STDERR) by default
There is much more, dig the source, luke!