From 3ffc33b8fe0d52397698f81dbc3086e398d40b43 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sun, 2 Aug 2026 20:12:19 +0800 Subject: Fix consumer missing first message. --- consumer.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'consumer.sh') diff --git a/consumer.sh b/consumer.sh index 975f103..4ee3d0c 100755 --- a/consumer.sh +++ b/consumer.sh @@ -2,17 +2,22 @@ REMOTE_HOST="${QUEUE_REMOTE_HOST:-lex-queue}" REMOTE_FIFO="${QUEUE_REMOTE_FIFO:-/tmp/job_queue}" -TARGET_DIR="${QUEUE_TARGET_DIR:-/home/lex}" +TARGET_DIR="${QUEUE_TARGET_DIR:-/home/sadeep/lex}" # Ensure the FIFO exists -ssh "$REMOTE_HOST" "test -p \"$REMOTE_FIFO\" || mkfifo -m 0600 \"$REMOTE_FIFO\"" || { - echo "[$(date '+%H:%M:%S')] ERROR: Failed to reach remote host or create FIFO" >&2 +ssh -n "$REMOTE_HOST" " + fuser -k \"$REMOTE_FIFO\" 2>/dev/null + test -p \"$REMOTE_FIFO\" || mkfifo -m 0600 \"$REMOTE_FIFO\" +" || { + echo "[$(date '+%H:%M:%S')] ERROR: Failed to reach remote host or prepare FIFO" >&2 exit 1 } echo "[$(date '+%H:%M:%S')] Listening to remote FIFO '$REMOTE_FIFO' on $REMOTE_HOST..." -ssh "$REMOTE_HOST" "exec 3<> \"$REMOTE_FIFO\"; cat <&3" | while read -r msg; do +while true; do + msg=$(ssh -n "$REMOTE_HOST" "head -n 1 \"$REMOTE_FIFO\"") + [ -z "$msg" ] && continue # Log formatted line capped at 72 chars -- cgit v1.2.3