1, как я могу сохранить сообщения, полученные nginx_http_push_module, в базы данных?
Вы должны подписаться на интересующий вас канал на стороне сервера и сохранять каждое сообщение в базе данных по мере его поступления.
Вы можете использовать cURL в PHP, например, для многократного длинного опроса канала (вам нужно будет установить соответствующий таймаут и правильные заголовки кэширования: If-None-Match и If-Modified-Since ).
2, как я могу получить список слушателей канала?
Примечание: nginx http push-модуль protoco l очень прост, это не bayeux . Подписчик / слушатель в этом модуле - это просто активное HTTP-соединение по URL-адресу подписчика. Например, если вы используете интервальный опрос вместо длинного опроса, вы будете считаться подписчиком только в течение (очень) короткого времени, в течение которого установлено соединение.
Вот почему список слушателей канала не имеет большого смысла с этим модулем.
Однако вы можете узнать количество активных подписчиков канала, отправив запрос GET на URL публикации, но я серьезно сомневаюсь, что вы могли бы с этим что-либо сделать.