Cómo escribir archivos (grandes) con Ruby Eventmachine

He pasado varios días buscando algunos ejemplos que no sean de servidor de eco para eventmachine, pero parece que no hay ninguno. Digamos que quiero escribir un servidor que acepte un archivo y lo escriba en un archivo temporal:

require 'rubygems'
require 'tempfile'
require 'eventmachine'

module ExampleServer

  def receive_data(data)
    f = Tempfile.new('random')
    f.write(data)
  ensure
    f.close
  end

end

EventMachine::run {
  EventMachine::start_server "127.0.0.1", 8081, ExampleServer
  puts 'running example server on 8081'
}

Escribir en el archivo bloquearía el reactor, pero no entiendo cómo hacerlo 'Eventmachine style'. ¿Tendría que leer los datos en fragmentos y escribir cada fragmento en el disco dentro de un bloque Em.next_tick?

Gracias por cualquier ayuda Andreas

Respuestas a la pregunta(4)

Su respuesta a la pregunta