| 12345678910111213141516171819202122232425262728293031323334 |
- #!/bin/sh
- . /etc/container_environment.sh
- . /etc/overleaf/env.sh
- SITE_MAINTENANCE_FILE_BAK="$SITE_MAINTENANCE_FILE.bak.shutdown"
- mv "${SITE_MAINTENANCE_FILE}" "${SITE_MAINTENANCE_FILE_BAK}"
- echo "closed" > "${SITE_MAINTENANCE_FILE}"
- # status file is polled every 5 seconds
- sleep 5
- # giving a grace period of 5 seconds for users before disconnecting them and start shutting down
- cd /overleaf/services/web && node scripts/disconnect_all_users.mjs --delay-in-seconds=5 >> /var/log/overleaf/web.log 2>&1
- EXIT_CODE="$?"
- if [ $EXIT_CODE -ne 0 ]
- then
- echo "scripts/disconnect_all_users.mjs failed with exit code $EXIT_CODE"
- exit 1
- fi
- sleep 10 &
- GIVE_EDITOR_10_SECONDS_TO_RELOAD=$!
- # wait for disconnection
- while ! sv stop real-time-overleaf; do
- sleep 1
- done
- wait $GIVE_EDITOR_10_SECONDS_TO_RELOAD
- exit 0
|