Здесь член основной команды Kuzzle.
TL; DR - Подписки GQL Live пока не поддерживаются Kuzzle. Вы можете использовать механизм Kuzzle Realtime для подписки на данные и повторного запуска запросов GQL.
Текущие офлайн-возможности, которые предлагает Kuzzle SDK, позволяют восстанавливать действующую подписку при повторном подключении и воспроизводить действия из очереди, которые не могли t может быть отправлен на сервер в автономном режиме, но на самом деле не имеет мнения (или инструмента) о том, как следует обрабатывать несинхронизированные данные.
В этой ситуации сложно иметь два хранилища данных (бэкэнд и фронтенд), которые могут не синхронизироваться c (из-за ограниченного подключения), особенно если вам нужно для запроса данных.
Существует множество решений для внешних баз данных, но они подразумевают, что вы должны удваивать запросы при каждой выборке данных (с разными DSL), затем согласовывать результаты, так как они могут отличаться. Это не невозможно, но это усилие.
Это хорошая мотивация для использования GraphQL вместе с Kuzzle, что неплохо, но живые запросы GraphQL пока не поддерживаются, так что вы не будете иметь возможность использовать запросы GQL для express фильтров подписки в реальном времени. Основная команда активно рассматривает возможность поддержки их в течение этого года.
Временное решение - отказаться на данный момент от GQL Live-Queries и оформить подписку с помощью Kuzzle (посредством звонка realtime.subscribe
). Каждый раз, когда подписка получает уведомление, она повторно запускает запрос GQL для получения набора данных fre sh. Единственные накладные расходы будут заключаться в том, что ваш фильтр подписки должен быть выражен в Koncorde DSL, что может раздражать в масштабе, но ИМХО, все еще жизнеспособно.