Hi,

I've been designing this framework to perform certain tasks on distributed 
devices by ssh. I've been using celluloid (and celluloid-io) to leverage 
the concurrency for a mixed of thread-based/event-based. It has so far been 
working well, except on a certain use case.

Part of those tasks sometimes involve communicating with a database to 
retrieve some information to send to the device, for which we've been using 
Sequel. 

It has been working, but it was noticed that sometimes the query takes too 
long, and it blocks the celluloid-io internal reactor. This is because 
sequel uses the ruby TCPSocket (and eventually, raw IO.select calls), and 
these calls are not handled by celluloid-io. 

Celluloid IO provides its own TCP/UDPSocket duck types, and here 
(https://github.com/celluloid/celluloid-io/wiki/Using-Celluloid%3A%3AIO-with-existing-Ruby-libraries)
 
it proposes an API to "inject" these to be used by the clients. Now, I 
don't know how to continue this debate, as this probably is being handled 
internally in the db client adapters, and I don't know if these already 
provide some kind of API for this, and its level of support for such 
event-based architectures (I know that event-machine had to develop its own 
adapters at some point). So, shall we continue the debate here, or should I 
need to discuss this with every db client adapter maintainer?

Many thx in advance,
Tiago

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to