Replace gem thread with concurrent-ruby - #279
Conversation
|
Sounds reasonable. Did you test this at scale? |
|
No, I did not @jondot. With that said, the setup and tear-down of the pool seems correct to me, and the gem is hugely battle tested. I fully understand that this swaps a critical part of sneakers. Do you want me to run and post results of the benchmark examples available in the repository? |
|
@jcmfernandes thank you. Can you please rebase this against master so that we can consider it? |
3b0db0b to
0eb02a0
Compare
concurrent-ruby is today the reference gem when it comes to concurrent data structures and concurrency primitives. Nothing against gem thread, is just that concurrent-ruby is simply much better documented and actively maintained.
0eb02a0 to
e0891a0
Compare
|
You're welcome @michaelklishin. As requested, I rebased my commit, but seems like we have a flaky test in the CI pipeline. I run the suite locally against the current What are we really trying to accomplish with the |
|
@jcmfernandes looks like that a consumer (worker) that is working off a queue with N messages can be stopped with an OS signal. I suspect that 2 seconds isn't enough for Travis builds. We will bump the limit separately. Let me try re-running the build a few times. |
|
@jondot @gabrieljoelc I think we should accept this PR. I see |
|
@michaelklishin i'm cool with accepting it, but should we ensure it works with the build? |
|
@gabrieljoelc there is one failing test that doesn't seem related. One can see it failing in master after a Bunny bump and I can't think of any recent Bunny change that can potentially affect Sneakers shutdown. So I'd merge and investigate the integration tests from there. |
gabrieljoelc
left a comment
There was a problem hiding this comment.
I created #299 for the failing master build test.
|
🎉 |
|
Just want to say,
I just identified the root cause today, and was about to file a bug report here, but I noticed Good work guys! |
|
@aq1018 you have to thank @jcmfernandes for that ;) |
|
Glad to hear that @aq1018! 😉 |
concurrent-ruby is today the reference gem when it comes to concurrent data
structures and concurrency primitives.
Nothing against gem thread, is just that concurrent-ruby is simply much better
documented and actively maintained.