Status Update
Comments
[Deleted User] <[Deleted User]> #2
Hello,
Thank you for reaching out to us!
This issue seems to be outside of the scope of Issue Tracker. This Issue Tracker is a forum for end users to report bugs
and request features
on Google Cloud products. Please go through
I recommend you to
For now, I'm going to close this thread which will no longer be monitored. In case you want to report a new issue, please do not hesitate to create a new Issue Tracker describing your issue.
Thank you!
ng...@google.com <ng...@google.com> #3
You are correct about WebSockets not currently working for the App Engine standard environment. Though for this, there's currently an open feature request as Issue 2535 [1]. I would strongly suggest starring said issue.
There exists a functioning Java example[2] of a chat application using WebSockets for the flexible environment. Have you tried this one?
In addition, I'm currently testing a Golang application with a custom runtime in the flexible environment using the websocket package[3]. I'll share my findings here as I make progress to confirm if this is a fully functioning feature of flex.
In the meantime, could you clarify what you mean by not working 'correctly' specifically about the flexible environment and test the linked Java chat application for yourself?
[1]:https://code.google.com/p/googleappengine/issues/detail?id=2535
[2]:https://github.com/GoogleCloudPlatform/appengine-websocketchat-java
[3]:https://godoc.org/golang.org/x/net/websocket
There exists a functioning Java example[2] of a chat application using WebSockets for the flexible environment. Have you tried this one?
In addition, I'm currently testing a Golang application with a custom runtime in the flexible environment using the websocket package[3]. I'll share my findings here as I make progress to confirm if this is a fully functioning feature of flex.
In the meantime, could you clarify what you mean by not working 'correctly' specifically about the flexible environment and test the linked Java chat application for yourself?
[1]:
[2]:
[3]:
[Deleted User] <[Deleted User]> #4
I don't think I'll try the Java application. To clarify, I tried a python websockets sample for flexible environment that didn't work correctly because although the web socket would connect and correctly upgrade, the server would drop the connection every 3 seconds, causing a reconnect every 3 seconds, and a new HTTP request every 3 seconds.
ng...@google.com <ng...@google.com> #5
Thank you for clarifying.
Could you provide a minimal reproduction of this python websockets example so that I may test and investigate this further? Simply zip it up and use the 'Attach a file' link. Be sure to redact any project-sensitive information contained within as this post is public.
With the above, I should be in a better position to post about the functionality of websockets for the flexible environment.
Lastly, have you 'starred' the aforementioned issue[1]? As that is the main feature request for WebSocket support, that is the best channel for such a request. In the meantime, I will continue with this issue to better determine the extent of support when using the flexible environment.
[1]:https://code.google.com/p/googleappengine/issues/detail?id=2535
Could you provide a minimal reproduction of this python websockets example so that I may test and investigate this further? Simply zip it up and use the 'Attach a file' link. Be sure to redact any project-sensitive information contained within as this post is public.
With the above, I should be in a better position to post about the functionality of websockets for the flexible environment.
Lastly, have you 'starred' the aforementioned issue[1]? As that is the main feature request for WebSocket support, that is the best channel for such a request. In the meantime, I will continue with this issue to better determine the extent of support when using the flexible environment.
[1]:
[Deleted User] <[Deleted User]> #6
Okay, I will.
The github is here :https://github.com/artooro/gae-websockets-python-demo
I downloaded a zip for you from there and attached it, too.
I don't like starring issues, because I don't like to get updates. The purpose of starring is to show support, and that is not necessarily an overlapping want with "getting updates" -- if there was a way to star, and to mute the conversation, that could be cool. I may star a whole of issues were that the case. ( perhaps I should open an issue for this ? without starring it of course ... :S )
The github is here :
I downloaded a zip for you from there and attached it, too.
I don't like starring issues, because I don't like to get updates. The purpose of starring is to show support, and that is not necessarily an overlapping want with "getting updates" -- if there was a way to star, and to mute the conversation, that could be cool. I may star a whole of issues were that the case. ( perhaps I should open an issue for this ? without starring it of course ... :S )
ng...@google.com <ng...@google.com> #7
Thank you for the reproduction. I will work for this and get back to you within the next 5 days. I'll reach out if I have any implementation-specific questions about this.
Regarding starring of issues, it is in fact possible to star issues and not receive notifications however it will apply to all issues you've starred. Therefore, you will not received emails for any starred issues.
To make this change:
1. Click on 'Profile' at the top right of thiscode.google.com page
2. Click on the 'Settings' tab
3. Scroll down to 'Issue tracker'
4. Uncheck 'If I starred the issue'
Feel free to support whatever issues you feel are most useful. Hope this helps!
Regarding starring of issues, it is in fact possible to star issues and not receive notifications however it will apply to all issues you've starred. Therefore, you will not received emails for any starred issues.
To make this change:
1. Click on 'Profile' at the top right of this
2. Click on the 'Settings' tab
3. Scroll down to 'Issue tracker'
4. Uncheck 'If I starred the issue'
Feel free to support whatever issues you feel are most useful. Hope this helps!
[Deleted User] <[Deleted User]> #8
Thanks!
ng...@google.com <ng...@google.com> #9
I could not reproduce exactly the same behavior you mentioned with the python tornado websocket application provided. Nevertheless, WebSockets[1][2] are not supported in App Engine standard or flexible environment at this time.
If you do not needing scaling, you could simply use a Compute Engine instance directly while we do not support web sockets with App Engine. If you really must have scaling support with web sockets, your most viable option at the moment is to use a Managed Instance Group[3] of Compute Engine instances behind a Network Load Balancer[4] using a Target Pool[5] with session affinity enabled.
As this is essentially a feature request for web sockets in App Engine, I am merging this issue with the master thread[6] mentioned above. Any future updates on this issue will be there.
[1]:https://tools.ietf.org/html/rfc6455
[2]:https://html.spec.whatwg.org/multipage/comms.html#network
[3]:https://cloud.google.com/compute/docs/instance-groups/
[4]:https://cloud.google.com/compute/docs/load-balancing/network/example
[5]:https://cloud.google.com/compute/docs/load-balancing/network/target-pools
[6]:https://code.google.com/p/googleappengine/issues/detail?id=2535
If you do not needing scaling, you could simply use a Compute Engine instance directly while we do not support web sockets with App Engine. If you really must have scaling support with web sockets, your most viable option at the moment is to use a Managed Instance Group[3] of Compute Engine instances behind a Network Load Balancer[4] using a Target Pool[5] with session affinity enabled.
As this is essentially a feature request for web sockets in App Engine, I am merging this issue with the master thread[6] mentioned above. Any future updates on this issue will be there.
[1]:
[2]:
[3]:
[4]:
[5]:
[6]:
ca...@gmail.com <ca...@gmail.com> #10
Can't a flexible environment have websockets in any way?
Description
The status of this is most likely known by the app engine authors, and so it's unnecessary to provide a reproduction case.
CloudFlare just rolled out websockets in general availability, it's an established standard, and it's useful ( these things justify the priority-high label ), and also, therefore, it is possible to use NGINX ( used by App Engine internally ) to support it at scale.
When will GAE support the W3C standards Web Sockets and Server Sent Events in general availability ?