Untitled

 avatar
unknown
plain_text
2 years ago
1.4 kB
4
Indexable
#!/bin/bash
host="localhost"
port=11400
webserver_status=0
scheduler_status=0 
airflow_home=$AIRFLOW_HOME
if [ -f "$airflow_home/airflow-webserver.pid" ]; then
  webserver_status=1
  echo "Webserver is Up"
else
  webserver_status=0
  echo "Webserver is Down"
fi
if [ -f "$airflow_home/airflow-scheduler.pid" ]; then
  scheduler_status=1
  echo "scheduler is Up"
else
  scheduler_status=0
  echo "scheduler is Down"
fi
if [ $webserver_status -eq 1 ] && [ $scheduler_status -eq 1 ]; then
  echo "Both webserver and scheduler are up...killing processes and restarting both services"
  pkill airflow
  airflow webserver -D
  airflow scheduler -D
fi
if [ $webserver_status -eq 0 ] && [ $scheduler_status -eq 0 ]; then
  echo "Both webserver and scheduler are down...starting both webserver and scheduler"
  airflow webserver -D
  airflow scheduler -D
fi
if [ $webserver_status -eq 1 ] && [ $scheduler_status -eq 0 ]; then
  echo "Webserver is up and scheduler is down...starting scheduler"
  airflow scheduler -D
fi
if [ $webserver_status -eq 0 ] && [ $scheduler_status -eq 1 ]; then
  echo "Webserver is down and scheduler is up...starting webserver"
  airflow webserver -D
  sleep 10
  errors = $(cat $airflow_home/airflow_webserver.err)
  if [ -z "$errors" ]; then
  echo "Webserver has errors. Exiting..."
  fi
  exit 1
fi
Editor is loading...