-
Notifications
You must be signed in to change notification settings - Fork 419
Description
Description:
Currently delayed events can be created on any worker but only changed on the master process. This is unfortunate as the bulk of traffic for delayed events (at least as far as Matrix RTC is concerned) involves pushing back a delayed event until a client has stopped using the application.
This has the unfortunate side effect that Element Call users for instance will send N delayed event requests per participant every few seconds, which can cause problems when the master process is otherwise busy. The typical action of a delayed delayed event request is to quickly try to schedule more to prevent an event from sending, as it's a time sensitive operation.
Instead, it would be good if both the updating of delayed events and the actual execution of sending them could be spread across workers to reduce the load on the master process and to allow better recovery and scaling of RTC-based services.