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.
