concurrent-ruby icon indicating copy to clipboard operation
concurrent-ruby copied to clipboard

Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.

Results 59 concurrent-ruby issues
Sort by recently updated
recently updated
newest added

with https://github.com/ruby/ruby/pull/3983 , rubyc includes c macros to do atomic operations. should we use these for the atomic operations? * Operating system: linux / mac / win * Ruby implementation:...

enhancement
looking-for-contributor

I found that `Concurrent::Channel` is great for representing stream data. Initial problem was, that I needed to stream data in JRuby with Sinatra (so i stuck with Puma and was...

``` * `concurrent-ruby` version: 1.1.7 * `concurrent-ruby-edge` used: yes ``` I am running this simple code and I see that `select` is not blocking on the `channels` and instead always...

Thank you for all your hard work on the latest 1.1.6 release. I recently upgraded our app gems and started noticing the passenger workers would become unresponsive (request queue =...

bug

`Promise.zip` seems to hang with any rejected promise in its collection for large enough collections (several hundred items). Here is a minimal repro: ```ruby 1.upto(1000).map do |n| puts n promises...

I'm running example from [Promises::Channel docs](https://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises/Channel.html). ``` channel = Concurrent::Promises::Channel.new 2 log = Concurrent::Array.new # => [] def produce(channel, log, producer, i) log.push format "producer %d pushing %d", producer, i...

I have been seeing a failure on and off when running concurrent-ruby's specs against JRuby head. I believe this failure in the cylic barrier specs may have a bug: ```...

Is there an easy way to wait for an Actor to terminate? I'm aware that I can wait till all messages are processed: ```ruby actor = MyActor.spawn(name: 'actor') actor

question

Hey, I have a deadlock problem, code snippet like this: ```ruby thread_pool = Concurrent::FixedThreadPool.new(3) res = Concurrent::ThreadLocalVar.new({}) while @queue.size > 0 do thread_pool.post do cur = @queue.pop build_res = start(cur)...

question
pending

When an error occurs within some code running inside concurrent-ruby executor, it ends up with something like this, while loosing the info about the true origin of the code: ```...

enhancement
looking-for-contributor