Initial commit
This commit is contained in:
commit
a437c068c8
64 changed files with 561683 additions and 0 deletions
47
scripts/worker.sh
Normal file
47
scripts/worker.sh
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
LOG="/opt/drupal/dfg3dworker.log"
|
||||
PID_FILE="/opt/drupal/dfg3dworker.pid"
|
||||
DRUPAL_SITE_URI="${DRUPAL_SITE_URI:-https://repository.covher.eu}"
|
||||
DRUSH_BIN="${DRUSH_BIN:-/opt/drupal/vendor/bin/drush}"
|
||||
|
||||
is_pid_running() {
|
||||
local pid="$1"
|
||||
if [[ -z "$pid" || ! "$pid" =~ ^[0-9]+$ ]]; then
|
||||
return 1
|
||||
fi
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
rm -f "$PID_FILE"
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
if [ -f "$LOG" ] && [ $(stat -c%s "$LOG") -gt 50000000 ]; then
|
||||
mv "$LOG" "${LOG}.old"
|
||||
fi
|
||||
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
EXISTING_PID="$(tr -d '[:space:]' < "$PID_FILE" || true)"
|
||||
if is_pid_running "$EXISTING_PID"; then
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Worker already running with PID $EXISTING_PID, exiting" >> "$LOG"
|
||||
exit 0
|
||||
fi
|
||||
rm -f "$PID_FILE"
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Removed stale PID file" >> "$LOG"
|
||||
fi
|
||||
|
||||
echo "$$" > "$PID_FILE"
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Worker started" >> "$LOG"
|
||||
|
||||
while true; do
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Run started" >> "$LOG"
|
||||
"$DRUSH_BIN" --uri="$DRUPAL_SITE_URI" queue:run dfg_3dviewer_convert --time-limit=3600 2>&1 | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; fflush(); }' >> "$LOG"
|
||||
sleep 5
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue