Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Jon Stenqvist
    @jnstq_twitter
    Awesome, thanks, works 🙏🏻
    Vladimir Dementyev
    @palkan

    Hey everyone!
    It's been a while...

    A quick status update and announcement.

    I'm coming to RubyConf (https://www.rubyconf.org) the next month to talk about cables. Ping me if you're around and would like to chat)

    I'm currently working on Ruby gem improvements (btw, I've added a GitHub dashboard a couple of months ago https://github.com/orgs/anycable/projects/1).

    If you have some idea/suggestions/feature requests that you'd like to see in the next release–feel free to create an issue or ping me here!

    rmacklin
    @rmacklin
    That link is a 404 for me
    And when I visit https://github.com/orgs/anycable/projects it says AnyCable doesn't have any public projects. I'm guessing it defaulted to private when you created it and needs to be explicitly made public
    Vladimir Dementyev
    @palkan
    oh, it was private
    I made it public, check again

    I'm guessing it defaulted to private when you created it and needs to be explicitly made public

    yep, looks like that; I didn't even know that there are privacy settings)

    rmacklin
    @rmacklin
    Works now 👍
    rmacklin
    @rmacklin
    I watched your rubykaigi talk. Will the rubyconf one be different?
    The mruby stuff is very interesting
    Vladimir Dementyev
    @palkan

    Yep, it's gonna bit a little bit different.

    The mruby stuff is very interesting

    That's the part I'd like to make shorter, since RubyConf is not so technical as RubyKaigi)

    I'd like to present the new version of Ruby gem, some new benchmarks (including the bench for the upcoming ActionCable with new Rack API (rails/rails#33295)).

    Probably, a little bit about our experiments with GraphQL subscriptions (and the way we make them work with AnyCable: https://github.com/Envek/graphql-anycable).

    I haven't started working on slides yet)

    rmacklin
    @rmacklin
    Sounds interesting!
    blackst0ne
    @blackst0ne_gitlab

    HI @palkan

    JFYI gitlab-org/gitlab-ce#43500

    Привет с Сахалина :)

    Vladimir Dementyev
    @palkan
    @blackst0ne_gitlab Привет)
    Vladimir Dementyev
    @palkan

    Good news, everyone!
    AnyCable gems (anycable and anycable-rails) v0.6.0.rc1 are out!

    Check out our new documentation website: https://docs.anycable.io (and upgrade notes https://docs.anycable.io/#upgrade_to_0_6_0).

    We plan to push the RC on production this week, the final 0.6.0 release (with Docker, Heroku, Homebrew updates, and all the anycable-go binaries) is planned for 15th of Nov.

    Jon Stenqvist
    @jnstq_twitter
    Just browsed the new docs.anycable.io! Looks really nice!
    grant-roy
    @grant-roy
    Hi, this project is fantastic, and I'm looking forward to using it! I had been thinking about implementing scalable chat in Rails, and had initially decided to go with Twilio to avoid having to deal with Rails not necessarily being ideal for this. Some initial implementation went into Twilio, but I will switch to AnyCable. For awhile I have been toying with the idea of a 'super scalable' open source communications project, chat, voice, video (mainly chat at first) using http://seastar.io/. How difficult do you think it would be to have a seastar server to go along with the Go and Erlang servesr? Does this seem interesting to anyone?
    Vladimir Dementyev
    @palkan

    Hi! Thanks for the feedback)

    How difficult do you think it would be to have a seastar server to go along with the Go and Erlang servesr?

    What do you mean by "go along"?

    As I understand, Seastar is a kind of low-level web application framework; thus from AnyCable perspective it probably makes sense to build a WebSocket server on top of Seastar (as another one, not related to Go/Erlang implementations)

    grant-roy
    @grant-roy
    Hi Vladimir, yes that is what I meant, Seastar might be used to build a third, separate server not related to Go/Erlang. It has some ultra powerful features, including the capability to do user space networking if desired. The main motivation would be for ultra-low cost operation (nothing that I'm aware of puts up better numbers in terms of connection handling). --Grant
    Vladimir Dementyev
    @palkan

    Hey everyone!
    I realized that I’m not well aware of AnyCable production usage (though I see its mentioned from time to time is social media).

    So, I’ve added a special GitHub issue to collect the feedback:

    anycable/anycable#68

    Please, share your story!

    • Cheers
    Patrick Lu
    @patricklu10_twitter
    hey guys, would anyone happen to know why broadcast_to is not actually sending a message across the channel?
    if we use transmit, then the message is sent
    Vladimir Dementyev
    @palkan
    Does ActionCable.server.broadcast work?
    transmit sends message directly to the socket, while broadcast_to/broadcast uses pub/sub layer (Redis).
    So, it could be Redis misconfiguration (make sure that redis_channel setting for both Ruby and WebSocket server (I guess, anycable-go) is the same)
    Patrick Lu
    @patricklu10_twitter
    ah forgot to setup anycable-go
    with the right redis URL
    let me try that
    Patrick Lu
    @patricklu10_twitter
    yep that was the issue
    Piotr Domagała
    @naku-i386
    Hello. Im trying to understand how anycable works. GRCP is used to send messages from anycable-go to Rails app right? Anycable-go -> GRCP Server -> Run code in Application?
    Vladimir Dementyev
    @palkan
    Hi!
    Yep, exactly like you described; that’s the main flow
    There is also the “broadcasting flow”: app code -> broadcasting adapter (for now, Redis) -> anycable-go
    Piotr Domagała
    @naku-i386
    Super! And to clarify. Why App cannot talk to anycable-go via GRPC? My answer is that there will probably be thousands and thousands of messages pushed to redis and its better to queue them and then send them in batches or something
    Is that correct too or something more to it?
    Vladimir Dementyev
    @palkan

    Direct communication could work if you only have one anycable-go instance;
    but in practice it could be many of them or unknown number of them; sometimes you need to scale AnyCable too)

    So, we need something to broadcast messages to all the instances of anycable-go

    Piotr Domagała
    @naku-i386
    @palkan Understand! Thank you very much <3
    Piotr Domagała
    @naku-i386
    Hah, i stumbled upon the same issue @patricklu10_twitter had. I think you need to yell in the docs: Set the same redis channel name! :D
    I eagerly copied the command from anycable-go github and expected it to work ;-( my bad
    Vladimir Dementyev
    @palkan
    yeah, that's the most popular issue(
    maybe, we should remove the default value at all to force everyone to add one
    Piotr Domagała
    @naku-i386
    Good idea imho! Remove any sign of "__anycable__". Funny thing is that when i saw "__anycable__" in rails and just "anycable" in anycable-go i thought it will point to the same channel but it's just different convention or smth... Wrong assumption.
    Vladimir Dementyev
    @palkan

    @/all Hey everyone!

    Here is the survey for AnyCable users: https://evilmartians.typeform.com/to/W35uRm.

    We want to learn more about you to make this piece of software better)

    justin talbott
    @waymondo
    hi there, I work at a company and we are considering making the switch from ActionCable to AnyCable. our app runs on Heroku and i noticed your Heroku Deployment wiki page: https://github.com/anycable/anycable/wiki/Heroku-Deployment. on it, its stated that AnyCable relies on HTTP/2 but Heroku doesn't support it. how do the steps below allow one to bypass that issue?
    Vladimir Dementyev
    @palkan

    Hi!

    how do the steps below allow one to bypass that issue?

    The described configuration assumes that you run both AnyCable RPC and AnyCable-Go on the same dyno. Thus HTTP2 traffic is running locally and is not affected by Heroku limitations.

    Also, check the newer version of the docs: https://docs.anycable.io/#/heroku

    justin talbott
    @waymondo
    cool, thank you. that explanation makes a lot of sense. i will check out these newer docs. i shall be back if i have more questions. thanks for your time
    Arthur Del Esposte
    @arthurmde_gitlab
    @palkan Hi! Does Anycable have a health check mechanism/endpoint/method that I could use in my Rails app? I'm creating endpoints in my app to check if everything is up and running properly and I want to check if it is everything ok with Anycable server. I was not able to find anything related in the docs =/
    Vladimir Dementyev
    @palkan
    Hey! Yes, we have health checks for both RPC and WebSocket servers: one and two.
    Arthur Del Esposte
    @arthurmde_gitlab
    thank you ;)
    Sean
    @seanfcarroll
    Is it possible to see the Dockerfile that was used to build https://hub.docker.com/r/anycable/anycable-go ? It seems to be using post 8080 instead of 3334 ... is there a reason for that.
    Why do you think it should use 3334?