Untitled
unknown
powershell
2 years ago
2.8 kB
5
Indexable
#!/bin/bash # Check if webserver is running timestamp=$(date +%Y%m%d%H%M%S) WEBSERVER_RUNNING=false if ps aux | grep airflow_webserver > /dev/null then WEBSERVER_RUNNING=true fi # Check if scheduler is running SCHEDULER_RUNNING=false if ps aux | grep airflow_scheduler > /dev/null then SCHEDULER_RUNNING=true fi # Start both webserver and scheduler if they are down if [ "$WEBSERVER_RUNNING" = false ] && [ "$SCHEDULER_RUNNING" = false ] then echo "Both webserver and schduler is down...starting both webserver and schduler" file1 = "airflow-scheduler.err" cp "$file1" "${file1}_${timestamp}.bak" file2 = "airflow-scheduler.log" cp "$file2" "${file2}_${timestamp}.bak" file3 = "airflow-scheduler.out" cp "$file3" "${file3}_${timestamp}.bak" file4 = "airflow-scheduler.pid" cp "$file4" "${file4}_${timestamp}.bak" file5 = "airflow-webserver.err" cp "$file5" "${file5}_${timestamp}.bak" file6 = "airflow-webserver.log" cp "$file6" "${file6}_${timestamp}.bak" file7 = "airflow-webserver.out" cp "$file7" "${file7}_${timestamp}.bak" file8 = "airflow-webserver.pid" cp "$file8" "${file8}_${timestamp}.bak" # Start both webserver and scheduler airflow webserver -D airflow scheduler -D fi # Start scheduler if webserver is up and scheduler is down if [ "$WEBSERVER_RUNNING" = true ] && [ "$SCHEDULER_RUNNING" = false ] then echo "starting schduler only" file1 = "airflow-scheduler.err" cp "$file1" "${file1}_${timestamp}.bak" file2 = "airflow-scheduler.log" cp "$file2" "${file2}_${timestamp}.bak" file3 = "airflow-scheduler.out" cp "$file3" "${file3}_${timestamp}.bak" file4 = "airflow-scheduler.pid" cp "$file4" "${file4}_${timestamp}.bak" # Start the scheduler airflow scheduler -D fi # Start webserver if webserver is down and scheduler is up if [ "$WEBSERVER_RUNNING" = false ] && [ "$SCHEDULER_RUNNING" = true ] then echo "starting webserver" file5 = "airflow-webserver.err" cp "$file5" "${file5}_${timestamp}.bak" file6 = "airflow-webserver.log" cp "$file6" "${file6}_${timestamp}.bak" file7 = "airflow-webserver.out" cp "$file7" "${file7}_${timestamp}.bak" file8 = "airflow-webserver.pid" cp "$file8" "${file8}_${timestamp}.bak" # Start the webserver airflow webserver -D fi # Restart both webserver and scheduler if they are both up if [ "$WEBSERVER_RUNNING" = true ] && [ "$SCHEDULER_RUNNING" = true ] then echo "restarting both webserver and schduler" # Stop and restart both webserver and scheduler workers=$(ps aux | grep airflow | grep worker | awk '{print $2}') for worker in $workers do kill $worker done airflow scheduler --daemon stop airflow webserver -D airflow scheduler -D fi
Editor is loading...