Skip to content

Consider supporting all endpoints for delayed events (MSC4140) across workers #19141

@Half-Shot

Description

@Half-Shot

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions