Skip to content

Streamer rework

href requested to merge href/pleroma:streamer-worker-registry into develop

A rework of Pleroma.Web.Streamer parts to use an Elixir Registry.

  • eliminate a possible memory leak on the workers (because they are none now).
  • Each websocket handler now handles their keepalive "" message, and won't send one if they sent a message recently.
  • Websocket handlers will now hibernate every 100 messages and at each keepalive; balancing CPU/latency of a GC vs. memory usage with now useless binary refcs
  • Enabled cowboy own timeout logic as well as the keepalives
  • Websocket handlers/registered sockets are now responsible of applying blocks/... and rendering their own user-customized views
  • The views that were rendered with the same params for each message will now just render them once before sending json
  • Reordered stream calls in ActivityPub to perform after notes counts increments/... are made
Edited by href

Merge request reports