Compare commits

...

3 Commits

Author SHA1 Message Date
dependabot[bot]
4697428c50 build(deps): bump sqlalchemy from 2.0.44 to 2.0.45 in /src
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.44 to 2.0.45.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-version: 2.0.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 20:31:39 +00:00
Daan Selen
306e17eb4d refac: some exit logic
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
2025-12-14 20:56:18 +01:00
DaanSelen
d75c7ad418 feat: add better docker stopping response (#1025) 2025-12-14 17:32:46 +01:00
2 changed files with 35 additions and 11 deletions

View File

@@ -1,6 +1,7 @@
#!/bin/bash
config_file="/data/wg-dashboard.ini"
runtime_pid=""
trap 'stop_service' SIGTERM
@@ -52,7 +53,31 @@ set_ini() {
stop_service() {
echo "[WGDashboard] Stopping WGDashboard..."
/bin/bash ./wgd.sh stop
local max_rounds="10"
local round="0"
local runtime_pid=""
while true; do
round=$((round + 1))
if [[ -f ${WGDASH}/src/gunicorn.pid ]]; then
runtime_pid=$(cat ${WGDASH}/src/gunicorn.pid)
echo "Running as PID: ${runtime_pid}"
return 0
fi
if [[ $round -eq $max_rounds ]]; then
echo "Reached breaking point!"
return 1
fi
sleep 0.5s
done
kill $runtime_pid
exit 0
}
@@ -192,9 +217,10 @@ start_and_monitor() {
[[ ! -d ${WGDASH}/src/log ]] && mkdir ${WGDASH}/src/log
[[ ! -d ${WGDASH}/src/download ]] && mkdir ${WGDASH}/src/download
${WGDASH}/src/venv/bin/gunicorn --config ${WGDASH}/src/gunicorn.conf.py
resolvconf -u
/usr/sbin/resolvconf -u
if [ $? -ne 0 ]; then
echo "Loading WGDashboard failed... Look above for details."
@@ -203,13 +229,14 @@ start_and_monitor() {
# Wait a second before continuing, to give the python program some time to get ready.
echo -e "\nEnsuring container continuation."
max_rounds="10"
round="0"
local max_rounds="10"
local round="0"
# Hang in there for 10s for Gunicorn to get ready
while true; do
round=$((round + 1))
latest_error=$(ls -t ${WGDASH}/src/log/error_*.log 2> /dev/null | head -n 1)
local latest_error=$(ls -t ${WGDASH}/src/log/error_*.log 2> /dev/null | head -n 1)
if [[ $round -eq $max_rounds ]]; then
echo "Reached breaking point!"
@@ -235,13 +262,10 @@ start_and_monitor() {
else
tail -f "$latest_error" &
wait $!
tail_pid=$!
wait $tail_pid
fi
echo "The blocking command has been broken! Script will exit in 3 minutes... Investigate!"
sleep 180s
exit 1
}
# Main execution flow

View File

@@ -8,7 +8,7 @@ icmplib==3.0.4
gunicorn==23.0.0
requests==2.32.5
tcconfig==0.30.1
sqlalchemy==2.0.44
sqlalchemy==2.0.45
sqlalchemy_utils==0.42.0
psycopg[binary]==3.3.2
PyMySQL==1.1.2