I then see that he posted: https://ruby.social/@getajobmike/114147139715606013
""" After months of work on 8.0, I’ve been trying to prototype a Ractor-based job system using Redis Cluster so the system can scale to hundreds of Redises with minimal effort.
The hardest part is Ractors. They are quite difficult to program as they don’t allow lexical scope or closure variable access. I haven’t yet figured out the code patterns necessary for them. I would call it a dialect of Ruby.
To be fair, I think I had the same struggles when learning goroutines and channels. """
Looks like he's trying to scale up sidekiq!
But I dunno you can just go ask him about it, assuming he still does those Friday morning “happy hour” calls :)
0 - https://github.com/protocolbuffers/protobuf/issues/19321
If somehow the broader ruby ecosystem made a concerted effort to become ractor safe I think google's ruby team would still hold the entire project back for years.
I was a little confused because when I think of Ractor, it's the Rust "Ractor" library https://github.com/slawlor/ractor which is an awesome library that brings Erlang/OTP gen_server actors to Rust and is very clean. Worth checking out BTW if you use Rust.
Using ractors as actors in the Erlang genserver sense is not really feasible. They're too heavy, you're not going to start up thousands of them.
Ractors are an interesting feature, with maybe some specific applications related to data processing, but they're still highly experimental and have yet to be understood and embraced by the Ruby community.
addendum: I haven't done anything with Ractors, so I don't know if the mailbox is already a solved problem
Though why does this article use so much Rust if the story is about Ruby :|
addendum 2: a cursory glance at Ruby's own Ractor docs seems to suggest that such tooling and mailboxes do exist in the Ractor ecosystem, which makes me curious about actors being forced to behave in a paradigm that they're not intended for to comply with one of many paradigms that can be used to do parallelism.
I suppose it's because I'm quite a fan of the actor-based model that I find it frustrating; but, as with anything, the hacker spirit and encouraging unique and interesting behaviors - even with a bit of runtime enhancements and compiled code referencing - is interesting to see