Batching Phoenix LiveView Updates

I wrote about an issue I had with a LiveView application, and how I solved the problem by debouncing updates server-side (within the LiveView process). Includes simple example of the idea I wanted to share.

4 Likes

I know the Cyan View people dealt with the same problem, because they have slow embedded devices and a bunch of camera telemetry events. They gave a Keynote at CodeBEAM Europe last year but didn’t really explain how they solved the batching. They just mention Ecto EmbeddedSchema but here’s the relevant part of the talk:

2 Likes

The other solution i could think of, is to have a GenServer which receives the high bandwidth signals and publishes them on the tick interval. This way, you save the LiveView process from the work and can eventually centralize the work for all clients and do the work once.

also has a section about batching updates

3 Likes

Note: I’ve changed the post from using the term “debounce” to “batch”… I should have checked I was using the correct term before publishing :person_facepalming: