Сколько клиентов подключено к каналу

У меня есть процесс, который запускается из очереди задач, которая периодически отправляет сообщения по каналу клиенту.

Можно ли проверить, подключен ли клиент, чтобы увидеть, должна ли очередь задач отправлять сообщения или нет?

Я вижу, что это происходит, если клиентская страница с javascript канала еще не загружена или они закрыли окно браузера. В любом случае я бы предпочел, чтобы процесс очереди задач не отправлял сообщения клиенту.


person David Dickson    schedule 04.05.2013    source источник


Ответы (1)


Когда клиент открывает или закрывает соединение, он отправляет сообщение в /_ah/channel/[dis]connected. Предполагая, что вы поддерживаете список client_id на сервере, client_id, отправленный в сообщении, позволит вам отслеживать открытые/закрытые client_ids.

Это было для меня постоянным, но в группе Google есть несколько сообщений, где это не работает должным образом.

https://developers.google.com/appengine/docs/python/channel/overview#Tracking_Client_Connections_and_Disconnections

person Brian Michelich    schedule 04.05.2013
comment
Хампф. Мне это не нравится. google.appengine.api.channel должен иметь для этого метод. - person Tony Lâmpada; 15.08.2013