On Wednesday, September 2, 2015 at 3:32:55 AM UTC-7, Tiago Cardoso wrote: > > 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 >
Yes, this is a driver issue, not a Sequel issue, as Sequel doesn't use sockets directly. So you'd need to talk to the driver authors about it. Thanks, Jeremy -- 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.
