mirror of
https://github.com/suitenumerique/meet.git
synced 2026-10-14 17:10:41 +00:00
🔒️(backend) throttle the start recording endpoint
Each recording start writes a Recording row and spins up a recording worker, so a user or buggy client hammering the endpoint is costly even when the calls end in a conflict or a worker failure. Throttle it per authenticated user, mirroring room creation: a short-term limit of 10/minute absorbs bursts and a daily cap of 100/day bounds sustained use. Both are configurable via START_RECORDING_THROTTLE_RATES and START_RECORDING_DAILY_THROTTLE_RATES. Only starting a recording is throttled, as it is the costly action. Stopping a recording only releases resources, so it is left unthrottled and a throttled user can always stop an ongoing recording.
This commit is contained in:
@@ -335,6 +335,8 @@ These are the environmental options available on meet backend.
|
||||
| SESSION_COOKIE_AGE | Session cookie expiration in seconds | 43200 (12 hours) |
|
||||
| ROOM_CREATION_THROTTLE_RATES | Room creation throttle rate per authenticated user | 50/minute | 50/minute |
|
||||
| ROOM_CREATION_DAILY_THROTTLE_RATES | Daily room creation cap per authenticated user | 1000/day |
|
||||
| START_RECORDING_THROTTLE_RATES | Recording start throttle rate per authenticated user | 10/minute |
|
||||
| START_RECORDING_DAILY_THROTTLE_RATES | Daily recording start cap per authenticated user | 100/day |
|
||||
| REQUEST_ENTRY_THROTTLE_RATES | Entry request throttle rates | 150/minute |
|
||||
| CREATION_CALLBACK_THROTTLE_RATES | Creation callback throttle rates | 600/minute |
|
||||
| SPECTACULAR_SETTINGS_ENABLE_DJANGO_DEPLOY_CHECK | Enable Django deploy check | false |
|
||||
|
||||
Reference in New Issue
Block a user