Как отключить устаревшее соединение веб-сокета Apollo-Client? - PullRequest
0 голосов
/ 17 октября 2019

У меня есть страница, которая загружает связанные страницы клиента apollo как виджеты внутри главной страницы. Мой сервер GraphQL размещается самостоятельно. Они обслуживаются через iFrame (самостоятельно), подключаясь обратно к моему собственному серверу. Связь осуществляется через сторонний SDK-коммуникационный пакет iFrame.

По какой-то причине виджеты не удаляются из окна, когда они устарели (я не могу это контролировать). Однако у меня есть доступ, чтобы знать, когда они "несвежие". Когда они устареют, я хочу отключить / отключить соединение через веб-сокет. Беда в том, что все еще подключенные клиенты поглощают процессор моего сервера. Я наблюдаю за подключением через веб-сокет через chrome dev-tools. Я замечаю, что каждые 5 секунд он отправляет запрос подтверждения активности на сервер веб-сокетов. Время от времени я вижу запрос на остановку и хочу выяснить, как это повторить.

Я - мой реагирующий компонент, подключенный к Apollo. Я попытался вызвать эти две команды, но после того, как они были вызваны без ошибок, флаги keep-alive все еще отправляются на сервер websocket.

this.props.client.stop()
this.props.client.clearStore();

Как мне сказать клиенту apollo выключиться?

...