_whitelogger has joined #jruby
kitallis has joined #jruby
<kitallis> i'm writing a wrapper for disruptor (cachedThreadPool + disruptor), does anyone know if something already exists?
<chrisseaton> kitallis: is disruptor a specific library? I only know of it as a design pattern
<kitallis> chrisseaton, I'm basically importing the lmax implementation https://github.com/LMAX-Exchange/disruptor/wiki/Introduction as a gem
<chrisseaton> Doesn't seem very complete
<kitallis> chrisseaton, also, that's a pure ruby implementation I think
<kitallis> I was just writing a jruby wrapper library that will expose a send_async method
<kitallis> via the original java library
<chrisseaton> An option is to use it directly as a Java library like you would from Java - the code won't be idiomatic Ruby but it will probably be about the same number of lines
<kitallis> chrisseaton, the deal with that is that there is a lot of boilerplate code required the bootstrap disruptor
<kitallis> I need something that I can use across projects, and just be able to do d = Disruptor.new; d.send_async
<kitallis> d.send_async(work), I mean
<chrisseaton> If you literally need just that method then yeah I'd write my own gem using JRuby's Java interop
<kitallis> yeah, couldn't find one anywhere like that
<kitallis> I have a clojure implementation written already, so I should be done with it easily
<kitallis> strangely enough, both sidekiq and resque use the Thread.new primitive
<kitallis> are there no projects that are jruby specific and only use the ThreadPoolExecutors to do async stuff?
<kitallis> (or sidekiq et al could do that themselves)
<kitallis> wouldn't that provide a lot more control to the kind of backing queues and policies (and battle-testedness)
_whitelogger has joined #jruby