bigbluebutton / docker

Docker files for BigBlueButton
GNU Lesser General Public License v3.0
360 stars 242 forks source link

Schedule processing of recordings and optimising the process #165

Open omidmaldar opened 2 years ago

omidmaldar commented 2 years ago

TLDR;

How to schedule recording processing to happen in a certain time period?

Context

The BigBlueButton goes through recording workflow (archive, process, publish) as soon as the class/meeting is finished. The process utilizes a huge amount of server resources. (in this case docker container made by recordings service will be quite busy consuming server resources especially its CPU). As a result a negative impact is easily visible on the on-going classes/meetings.

One way of coping with the side-effect is to schedule the processing of recordings to happen after class/meeting. In a standard/normal BigBlueButton server this can be achieved by editing /usr/lib/systemd/system/bbb-record-core.timer. However, it seems that this approach doesn't work in BigBlueButton docker. (or does it?)

Anyway, I've noticed that at the time of building docker image for recordings container in BigBlueButton Docker, the systemctl command is removed from bbb-record script apparently in favor of making bbb-record works in a custom environment.

I also noticed that a command named supervisorctl is available in this recordings container (but I'm new to it and don't know how to use it). Is it similar to systemctl or is it possible to schedule the processing of recordings using it?

Could you please share your ideas for