From 4fc3a849f68af053d3cd8fcf3fdbc9e6d899c262 Mon Sep 17 00:00:00 2001 From: Jali Date: Sun, 21 Sep 2025 00:52:58 +0200 Subject: [PATCH] Remove the lock file handling from the service and let systemd handle it. --- services/git-monitor | 21 --------------------- units/git-monitor.service | 2 ++ 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/services/git-monitor b/services/git-monitor index 40d0047..1d211de 100755 --- a/services/git-monitor +++ b/services/git-monitor @@ -6,7 +6,6 @@ REPO_LOCAL_PATH="/opt/src" BRANCH_NAME="develop" POLL_INTERVAL=60 # Seconds between checks #LOG_FILE="/var/log/git-monitor.log" # Log file for recording actions -LOCK_FILE="/tmp/git-monitor.lock" # File to prevent multiple instances running concurrently IFS="|" # Functions @@ -18,21 +17,6 @@ log_message() { echo "$timestamp [$level] $message" # Also print to console (optional) } -check_lock() { - if [ -f "$LOCK_FILE" ]; then - log_message "WARN" "Another instance is already running. Exiting." - exit 1 - fi -} - -create_lock() { - touch "$LOCK_FILE" -} - -remove_lock() { - rm -f "$LOCK_FILE" -} - run_after() { local after_pull_script=$1 source $after_pull_script @@ -83,9 +67,6 @@ check_for_updates() { } # Main Execution -check_lock -create_lock - log_message "INFO" "Git monitor started." initialize_repos @@ -99,5 +80,3 @@ while true; do done < $REPO_URLS sleep "$POLL_INTERVAL" done - -remove_lock # This won't be reached in this infinite loop. Useful if exiting gracefully. diff --git a/units/git-monitor.service b/units/git-monitor.service index 2f15469..78682ca 100644 --- a/units/git-monitor.service +++ b/units/git-monitor.service @@ -4,7 +4,9 @@ After=network.target [Service] ExecStart=/usr/local/bin/git-monitor +LockFile=/run/git-monitor-lock Restart=on-failure +RemovalPolicy=onFailure User=monitor WorkingDirectory=/opt/src