Длинный опрос в пижаме
У меня есть приложение, написанное в пижаме, которое должно проверять наличие новых событий, чтобы обновить таблицу событий в браузере. Крайне важно, чтобы события отображались в очень маленьком окне их возникновения, чтобы оператор знал о проблемах в (квази) реальном времени. Я нацеливаюсь на задержку менее одной секунды.
В настоящее время я периодически выполняю вызовы JSONRPC в пижамах для поиска новых событий. Период был установлен на 1 секунду, так как более частые опросы будут перегружать мои серверы (мы обслуживаем много клиентов). Даже 1-секундный период слишком мал. И даже при таком низком периоде я не могу достичь своей цели менее чем за одну секунду (очевидно...). В настоящее время я нахожусь на диапазоне 2-3 секунды, что слишком высоко. Кроме того, эта стратегия излишня, так как многие мои запросы не получают данных (так как большую часть времени нет новых событий для отображения).
То, что я хотел бы сделать, это сделать несколько долгих опросов на моем сервере, ожидая события, а затем выполнить запрос JSONRPC для получения моих данных. Таким образом, все событие -> задержка отображения будет связано с обработкой данных (или сетевыми задержками), которые, вероятно, можно оптимизировать (но не избежать).
Итак, мой вопрос: как я могу сделать длинный опрос в пижаме?