New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make Celluloid.new link by default if possible. #145
Conversation
Some useful background on this is how Akka works: http://doc.akka.io/docs/akka/snapshot/general/supervision.html
Seems like a good idea to me. |
I should probably expand on the documentation if Akka is the sort of example we want to follow. |
Seems good to me ;) |
Yeah, this is cool. I like. I wasn't aware of how Akka works, but we'd been building stuff like this into nearly all of our actor supervision trees anyway. 👍 |
I like it 👍 |
I've tried to provide some comments as guidance for the three behaviors. We can probably update the wiki to reflect this once merged and released if everything looks fine. |
I like this. I would, though, urge caution in releasing it (RC with sufficient time for testing) since it may have unexpected consequences in existing apps. |
We could probably add logging to warns when implicit links and redundant links are added. The question might then be if that should be released separately first or if we simply should make it configurable with the intent to deprecate the old behavior. |
It also seems like Travis is reporting errors that my build doesn't show locally. The test suite might have some timing bugs. Can anyone else reproduce the problems? |
@strmpnk I'm definitely able to reproduce this sporadically on both JRuby and rbx. Here's the failure:
As you presume, the existing tests may make some assumptions about ordering that you're changing. Let me take a look... |
I would be tempted to not split up the Would it be better to consider this change along with supervision? See #148. |
I started a discussion about this at https://groups.google.com/d/msg/celluloid-ruby/Rd2AurcPNpo/xejk2OT3zwEJ |
I've added an experimental change that makes
new
link by default if called within an actor's context.spawn
remains unlinked by default and thenew_link
method will still require an actor context to link to, unlikenew
.I've also added some minimal spec coverage but we might want to clean that up if we can decide on a clearer style to write these specs with proper actor cleanup.