Implement Comet / Server push in Google App Engine in Python
Asked Answered
C

6

25

How can I implement Comet / Server push in Google App Engine in Python?

Childbearing answered 16/8, 2009 at 19:34 Comment(0)
I
69

We just announced the Channel API to do comet push with App Engine apps: http://googleappengine.blogspot.com/2010/05/app-engine-at-google-io-2010.html

If you're at Google IO, I'll be talking about this at 1pm tomorrow (on the APIs track): http://code.google.com/events/io/2010/sessions/building-real-time-apps-app-engine-feed-api.html

Here's the YouTube video of the session: http://www.youtube.com/watch?v=oMXe-xK0BWA

Hopefully last update! This is now released: code.google.com/appengine/docs/python/channel

Intern answered 19/5, 2010 at 23:43 Comment(6)
I'm sorry I had to miss that talk yesterday (too many good overlapping talks!). Any news on when we'll see documentation of this feature or when it'll be available for us to use?Parlando
The talk itself will be on YouTube next week (I think), and it contains details of the API. No specific dates for launch, but if you want to sign up for trusted tester you can go do so here: spreadsheets.google.com/…Intern
Could you please link to the video?Alvarez
As soon as the videos are posted to the Google IO site, I'll post a link here. (I am simultaneously looking forward to and dreading seeing myself on video...)Intern
Wondering if you could give us an estimate when we can play with this :)?Campaign
Dotting i's and crossing t's... look for this very soon.Intern
I
3

At this time, I would rule out doing Comet in App Engine (any language). Comet is based on long-lived HTTP connections, and App Engine will time out any single connection in about 30 seconds or so at most; it's hard to conceive of a worse match!

Inspired answered 16/8, 2009 at 20:14 Comment(2)
This answer is no longer relevant. The one by Moishe is.Anta
The answer by Moishe will be no longer relevant soon, Channel API is planned for shutdown in Oct 2017Gemmation
P
2

Comet (or something like it - XMPP API) is on the google app engine roadmap. For now, stay away.

http://code.google.com/appengine/docs/roadmap.html

Pointed answered 17/8, 2009 at 2:14 Comment(2)
this is not helpful, although already released, the appengine can be used to build chat bots with this API, but it still doesn not allow for long-pollingDyal
you're right. another server is needed to translate the client-side long polling to XMPP messages. the recently release tornado framework looks like a good option!Pointed
U
1

30 seconds is more than enough; either way you should return a no-op message when a time passed and no new events occur.

This prevents client timeouts and is done by everybody who does comet.

Just send the request, and on the server make it wait until an event or timeout after 25 seconds.

Ulrikeulster answered 6/5, 2010 at 21:56 Comment(0)
C
0

Looking inside the App Engine 1.3.8-pre release, I see the Channel API service stub and more code. So it looks like we can start trying it out locally.

Cataclysm answered 12/10, 2010 at 20:19 Comment(0)
H
0

Google App Engine supports server push using the Channel API since 2nd December.

Hairdo answered 19/12, 2010 at 0:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.