reactpy-django icon indicating copy to clipboard operation
reactpy-django copied to clipboard

Use one websocket per client

Open Archmonger opened this issue 1 year ago • 0 comments

Current Situation

The initial handshake of a websocket connection can cause additional latency. It's sometimes more performant to utilize only one websocket connection per client.

  • Initial conversation: https://discord.com/channels/1111078259854168116/1212403319880949830/1212403319880949830

Proposed Actions

Refactor consumer.py and our client code to utilize a single websocket per client. This will likely require changing our websocket's URL routing schema.

We might want to make this option configurable via REACTPY_SHARED_WEBSOCKET, since the old behavior has the potential to be more performant when using multiple ASGI workers.

Alternatively, if this feature is optional then perhaps this might be better developed as a separate SharedReactPyConsumer websocket.

Archmonger avatar Feb 28 '24 22:02 Archmonger