Внедрение Comet/Server push в Google App Engine на Python

Как я могу реализовать Comet/Server push в Google App Engine на Python?


person Lev    schedule 16.08.2009    source источник


Ответы (6)


Мы только что объявили о Channel API для отправки комет с приложениями App Engine: http://googleappengine.blogspot.com/2010/05/app-engine-at-google-io-2010.html

Если вы работаете в Google IO, я расскажу об этом завтра в 13:00 (на треке API): http://code.google.com/events/io/2010/sessions/building-Real-time-apps-app-engine-feed-api.html

Вот видео этого сеанса на YouTube: http://www.youtube.com/watch?v=oMXe-xK0BWA

Надеюсь последнее обновление! Это уже выпущено: code.google.com/appengine/docs/python/channel

person Moishe Lettvin    schedule 19.05.2010
comment
Я сожалею, что вчера мне пришлось пропустить это выступление (слишком много хороших накладывающихся друг на друга выступлений!). Есть новости о том, когда мы увидим документацию по этой функции или когда она будет доступна для использования? - person npdoty; 22.05.2010
comment
Не могли бы вы дать ссылку на видео? - person Alon Gubkin; 26.05.2010
comment
Как только видео будут опубликованы на сайте Google IO, я размещу здесь ссылку. (Я одновременно жду и боюсь увидеть себя на видео...) - person Moishe Lettvin; 27.05.2010
comment
Хотите знать, не могли бы вы дать нам оценку, когда мы сможем поиграть с этим :)? - person Alfred; 21.06.2010
comment
Расставляем точки над i и пересекаем t... ищите это очень скоро. - person Moishe Lettvin; 02.11.2010

В настоящее время я бы исключил использование Comet в App Engine (на любом языке). Comet основан на долгоживущих HTTP-соединениях, и App Engine истечет время ожидания любого отдельного соединения примерно через 30 секунд или около того; Хуже матча трудно себе представить!

person Alex Martelli    schedule 16.08.2009
comment
Этот ответ больше не актуален. Тот, что принадлежит Мойше. - person Paul de Vrieze; 20.02.2011
comment
Ответ Мойше скоро перестанет быть актуальным, Channel API планируется закрыть в октябре 2017 года. - person Suma; 28.07.2017

Comet (или что-то подобное — XMPP API) находится в дорожной карте Google App Engine. А пока держись подальше.

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

person mainsocial    schedule 17.08.2009
comment
это не помогает, хотя уже выпущенный appengine можно использовать для создания чат-ботов с этим API, но он все еще не позволяет проводить длинные опросы - person Bartosz Radaczyński; 10.09.2009
comment
ты прав. другой сервер необходим для перевода длинного опроса на стороне клиента в сообщения XMPP. недавно выпущенный фреймворк tornado выглядит хорошим вариантом! - person mainsocial; 12.09.2009

30 секунд более чем достаточно; в любом случае вы должны вернуть сообщение об отсутствии операций, когда время истекло, а новые события не произошли.

Это предотвращает тайм-ауты клиента и делается всеми, кто использует comet.

Просто отправьте запрос, а на сервере сделайте так, чтобы он ждал события или тайм-аута через 25 секунд.

person Uriel Katz    schedule 06.05.2010

Заглянув внутрь предварительной версии App Engine 1.3.8, я вижу заглушку службы Channel API и дополнительный код. Так что, похоже, мы можем начать пробовать это локально.

person kvdb    schedule 12.10.2010

Google App Engine поддерживает отправку на сервер с помощью Channel API со 2 декабря.

person Robber    schedule 19.12.2010