I think they know this, which is why there are "Endpoints" which aren't the
same thing but are described for the same use cases, and suck in their own
special way.

 

 

From: [email protected]
[mailto:[email protected]] On Behalf Of vlad
Sent: Sunday, September 02, 2012 3:32 PM
To: [email protected]
Subject: Re: [google-appengine] Channel API not working in production

 

+1  Channels is probably the most overhyped but underwhelming feature on
GAE. It was launched with lots of hype and high expectations. Still after 2
years to is mostly unusable. GAE team is better off killing Channels as a
feature to free up resources and focus on delivering websockets.



On Sunday, September 2, 2012 1:16:42 AM UTC-7, Aleksei Rovenski wrote:

Hi,

 

I have to agree with Pascal. Channel API has too many issues and though I
have worked around most of them to a certain degree when it started to be
good enough, I would not repeat this if I would be still planning my
application. Some more issues that I can easily add to the list above:

 

- doesn't support batch sending (if you want to broadcast same message)

Note that the cost you see in the dashboard for Channel API is not the full
cost. You also have to consider that your instances will spend some time
sending the messages. Usually the API call to send a message takes 20-40
millis, but on occasions it can take a couple of seconds. And if you are
broadcasting your instances may end up spending most of the time doing
sendMessage calls..

There is an issue for that, please star it:
http://code.google.com/p/googleappengine/issues/detail?id=4506

 

- 400 SID errors

Usually it doesn't happen too often, but sometimes you will get them right
after your client connected and then again...

There is an issue for that, feel free to star it:
http://code.google.com/p/googleappengine/issues/detail?id=4940

 

- Sometimes channels are just dead

You create a channel, there are no errors or anything, but no matter how
many messages you send, it just won't receive any. The token is still valid,
so your client can try to reconnect, but it won't help, it has to create a
new channel with a new token. But how to detect this kind of issue until it
is too late and user has left your app for good? The problem is sometimes
channel takes 20+ seconds before it receives messages..

 

- Quota of 60 connects per minute (1 per sec)

If I succeed, it won't be enough for my app. I have no idea how responsive
is google in increasing the quota..

 

+1 for presence notifications are extremely unreliable

To a degree that I had to duplicate them, my app sends its own callbacks.
What is unreliable you may ask? Disconnect notification for example may come
*minutes* after. So my client already handled the situation and connected to
another channel long ago. If I would have waited for presence notification,
I would have lost the user. Or even worse on some days the notification may
not come at all. 

And because you can never be totally sure that you have not missed something
or channel doesn't give you a new trick, I had to add shamefull lazy polling
to make sure my users are still connected :(

 

PS. I'm trying out Pusher and it looks good. 

PSS. I still like Appengine, but Channel API is really not ready for
production apps.


суббота, 1 сентября 2012 г., 7:32:56 UTC+3 пользователь Kristopher Giesing
написал:



On Friday, August 31, 2012 12:29:20 PM UTC-7, Pascal Patry wrote:

Hi, 

Channels on AppEngine are picky. There are multiple issues that I had to 
work around for an application that is currently in production: 
1. Channels aren't working on backends 

 

Argh, seriously? That is a huge problem for me :(

 

2. No API is available to mobile

 

I worked around this by embedding the jsapi code in my application.  It
seems to work fine... so far.

 

3. The implementation is different from the test and production server

 

Yes, that is a pain.  I had to add a wrapper class to my application to
choose between embedded test and prod implementations dynamically.

 

4. Connection/Disconnection handlers aren't reliably called 

 

Are you talking about this? If so it was fixed:
http://code.google.com/p/googleappengine/issues/detail?id=7098

 

The fix isn't public yet but there's a patch in the thread.

 

- Kris

 

-- 
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-appengine/-/xxXmgwM8N0gJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to