On Mon, Sep 9, 2013 at 2:37 AM, Dan <[email protected]> wrote: > I would like to broadcast one message to a 'channel' and have many > subscribers get updated in real-time using the App Engine Channel Service. > How can I do this? > send_message(client_id, message) is only intended to be used to send *one* > message > to *one* client at a time. > How can I scale to 100 - 500 client_ids listening to one channel_id? > My initial thought was to use mapreduce map to fan-out but that is way too > heavy and therefore expensive >
You'll have to re-architect your application slightly to do mass real-time updates like this. As you noted, there's no way to broadcast in channels. One channel can only be consumed by one client, not multiple clients. The fastest and cheapest way would be to get a Compute Engine machine and write a simple websockets application in node.js (there are a number of libraries available to simplify this: http://stackoverflow.com/questions/16392260/which-websocket-library-to-use-with-node-js ). Your App Engine application can send a message to your Compute Engine machine, which can then fan out the message to clients via websockets. On Mon, Sep 9, 2013 at 2:37 AM, Dan <[email protected]> wrote: > If everything worked smoothly with no memcache evictions, the datastore > would not need to be touched most of the time. Would the Go runtime be best > for implementing this most efficiently? > > There's nothing wrong with Python. Stick with whatever language you feel most comfortable in, ----------------- -Vinny P Technology & Media Advisor Chicago, IL App Engine Code Samples: http://www.learntogoogleit.com -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-appengine. For more options, visit https://groups.google.com/groups/opt_out.
