forked from extern/docker
use bash to monitor files
This commit is contained in:
parent
60c5b1890b
commit
9ce65a23f0
58
mod/core/bbb-playback-presentation/record-monitor.sh
Executable file
58
mod/core/bbb-playback-presentation/record-monitor.sh
Executable file
@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
# /var/bigbluebutton/recording/status/processed/*.done -> publish-worker.rb
|
||||
# /var/bigbluebutton/recording/status/sanity/*.done -> process-worker
|
||||
# /var/bigbluebutton/recording/status/ended/*.done -> events-worker
|
||||
# /var/bigbluebutton/recording/status/recorded/*.done -> archive-worker
|
||||
# /var/bigbluebutton/recording/status/archived/*.done -> sanity-worker
|
||||
|
||||
FILES_TO_CHECK=$1
|
||||
|
||||
PATH_TO_CHECK="/var/bigbluebutton/recording/status"
|
||||
CMD_DIR_PATH="/usr/local/bigbluebutton/core/scripts"
|
||||
|
||||
function do_monitoring() {
|
||||
check_done_files
|
||||
while ! compgen -G "$PATH_TO_CHECK" > /dev/null; do
|
||||
echo "$PATH_TO_CHECK returning 0 files, sleeping for 30s..."
|
||||
sleep 30
|
||||
done
|
||||
if [[ -d "$CMD_DIR_PATH" ]]; then
|
||||
pushd $CMD_DIR_PATH > /dev/null
|
||||
ruby $CMD_PATH
|
||||
popd > /dev/null
|
||||
fi
|
||||
sleep 5
|
||||
echo "Re-monitoring files.."
|
||||
do_monitoring
|
||||
}
|
||||
|
||||
function check_done_files() {
|
||||
echo "$FILES_TO_CHECK"
|
||||
if [[ ! -z $FILES_TO_CHECK ]]; then
|
||||
if [[ $FILES_TO_CHECK == "processed" ]]; then
|
||||
PATH_TO_CHECK="$PATH_TO_CHECK/processed/*.done"
|
||||
CMD_PATH="/usr/local/bigbluebutton/core/scripts/rap-publish-worker.rb"
|
||||
elif [[ $FILES_TO_CHECK == "sanity" ]]; then
|
||||
PATH_TO_CHECK="$PATH_TO_CHECK/sanity/*.done"
|
||||
CMD_PATH="/usr/local/bigbluebutton/core/scripts/rap-process-worker.rb"
|
||||
elif [[ $FILES_TO_CHECK == "ended" ]]; then
|
||||
PATH_TO_CHECK="$PATH_TO_CHECK/ended/*.done"
|
||||
CMD_PATH="/usr/local/bigbluebutton/core/scripts/rap-events-worker.rb"
|
||||
elif [[ $FILES_TO_CHECK == "recorded" ]]; then
|
||||
PATH_TO_CHECK="$PATH_TO_CHECK/recorded/*.done"
|
||||
CMD_PATH="/usr/local/bigbluebutton/core/scripts/rap-archive-worker.rb"
|
||||
elif [[ $FILES_TO_CHECK == "archived" ]]; then
|
||||
PATH_TO_CHECK="$PATH_TO_CHECK/archived/*.done"
|
||||
CMD_PATH="/usr/local/bigbluebutton/core/scripts/rap-sanity-worker.rb"
|
||||
else
|
||||
echo "invalid argument, exiting..."
|
||||
exit
|
||||
fi
|
||||
else
|
||||
echo "invalid argument, exiting..."
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
do_monitoring
|
@ -1,21 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import time
|
||||
import argparse
|
||||
import subprocess
|
||||
import glob
|
||||
|
||||
PATH_MONITOR = "/var/bigbluebutton/recording/status/"
|
||||
|
||||
def file_monitor(event_to_check):
|
||||
done_files = glob.glob(PATH_MONITOR + event_to_check + "/*.done") # List
|
||||
while len(done_files) == 0:
|
||||
time.sleep(5)
|
||||
done_files = glob.glob(PATH_MONITOR + event_to_check + "/*.done") # List
|
||||
subprocess.Popen("/usr/local/bigbluebutton/scripts/rap-"+event_to_check+"-worker.rb", cwd="/usr/local/bigbluebutton/core/scripts")
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--event", type=str, dest="event_to_check", help="Event to check (archive, events, process, publish, sanity)")
|
||||
args = parser.parse_args()
|
||||
file_monitor(args.event_to_check)
|
Loading…
Reference in New Issue
Block a user