feat(worker): Enhance db_worker script for better error handling and add systemd service example
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=PENRA django-tasks db_worker
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=www-data
|
||||
Group=www-data
|
||||
WorkingDirectory=/home/ross/web/rad
|
||||
Environment=DJANGO_SETTINGS_MODULE=rad.settings
|
||||
ExecStart=/home/ross/web/rad/scripts/run-db-worker.sh
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -23,10 +23,16 @@ echo "Python: $PYTHON_BIN"
|
||||
|
||||
while true; do
|
||||
echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] Launching db_worker"
|
||||
"$PYTHON_BIN" "$ROOT_DIR/manage.py" db_worker
|
||||
exit_code=$?
|
||||
if "$PYTHON_BIN" "$ROOT_DIR/manage.py" db_worker; then
|
||||
exit_code=0
|
||||
else
|
||||
exit_code=$?
|
||||
fi
|
||||
|
||||
echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] db_worker exited with code $exit_code"
|
||||
if [ "$exit_code" -eq 137 ] || [ "$exit_code" -eq 9 ]; then
|
||||
echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] db_worker appears to have been SIGKILL'ed (likely OOM)." >&2
|
||||
fi
|
||||
|
||||
if [ "$MAX_RESTARTS" -gt 0 ] && [ "$restart_count" -ge "$MAX_RESTARTS" ]; then
|
||||
echo "Max restarts reached ($MAX_RESTARTS). Exiting." >&2
|
||||
|
||||
Reference in New Issue
Block a user