{"action":"created","issue":{"url":"https://api.github.com/repos/seancribbs/webmachine-ruby/issues/221","labels_url":"https://api.github.com/repos/seancribbs/webmachine-ruby/issues/221/labels{/name}","comments_url":"https://api.github.com/repos/seancribbs/webmachine-ruby/issues/221/comments","events_url":"https://api.github.com/repos/seancribbs/webmachine-ruby/issues/221/events","html_url":"https://github.com/seancribbs/webmachine-ruby/issues/221","id":57072632,"number":221,"title":"Please provide a non-blocking alternative to Webmachine::Adapters::Reel#run().","user":{"login":"clonezone","id":31172,"avatar_url":"https://avatars.githubusercontent.com/u/31172?v=3","gravatar_id":"","url":"https://api.github.com/users/clonezone","html_url":"https://github.com/clonezone","followers_url":"https://api.github.com/users/clonezone/followers","following_url":"https://api.github.com/users/clonezone/following{/other_user}","gists_url":"https://api.github.com/users/clonezone/gists{/gist_id}","starred_url":"https://api.github.com/users/clonezone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clonezone/subscriptions","organizations_url":"https://api.github.com/users/clonezone/orgs","repos_url":"https://api.github.com/users/clonezone/repos","events_url":"https://api.github.com/users/clonezone/events{/privacy}","received_events_url":"https://api.github.com/users/clonezone/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-02-09T18:50:36Z","updated_at":"2015-02-10T03:13:11Z","closed_at":null,"body":"I've got other things that I want to do on the main thread after starting up the web interface and the call at the end to `Celluloid::Actor.join(@server)` blocks. Right now I've hacked a subclass that overrides `#run()` to leave that call out and provides another method to do the same thing for when I do want to wait, but I don't want to have to worry about the subclass getting out of sync with the regular code. \r\n\r\nPerhaps move the majority of `#run()` into `#run_without_blocking()`, add a `#join_server()` with the Celluloid call and then have `#run()` invoke those two?"},"comment":{"url":"https://api.github.com/repos/seancribbs/webmachine-ruby/issues/comments/73637304","html_url":"https://github.com/seancribbs/webmachine-ruby/issues/221#issuecomment-73637304","issue_url":"https://api.github.com/repos/seancribbs/webmachine-ruby/issues/221","id":73637304,"user":{"login":"bethesque","id":446228,"avatar_url":"https://avatars.githubusercontent.com/u/446228?v=3","gravatar_id":"","url":"https://api.github.com/users/bethesque","html_url":"https://github.com/bethesque","followers_url":"https://api.github.com/users/bethesque/followers","following_url":"https://api.github.com/users/bethesque/following{/other_user}","gists_url":"https://api.github.com/users/bethesque/gists{/gist_id}","starred_url":"https://api.github.com/users/bethesque/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bethesque/subscriptions","organizations_url":"https://api.github.com/users/bethesque/orgs","repos_url":"https://api.github.com/users/bethesque/repos","events_url":"https://api.github.com/users/bethesque/events{/privacy}","received_events_url":"https://api.github.com/users/bethesque/received_events","type":"User","site_admin":false},"created_at":"2015-02-10T03:13:11Z","updated_at":"2015-02-10T03:13:11Z","body":"I haven't played with Celluloid before, so I don't have any informed opinion to give on that front. Given the intent of the ! is suppose to indicate that the method modifies the underlying object, it doesn't seem appropriate here. "}}