#!/usr/bin/env bash

wait_for () {
    vmc wait_for_db
    vmc wait_for_amqp
    vmc wait_for_es
}

start () {
    wait_for
    case $1 in
       worker)
            echo "Starting VMC Worker"
            celery --app vmc.config worker -O fair
            ;;
       scheduler)
            echo "Starting VMC Scheduler"
            celery --app vmc.config beat --scheduler django_celery_beat.schedulers:DatabaseScheduler  --pidfile=/tmp/scheduler.pid
            ;;
       admin)
            echo "Starting VMC Admin"
            vmc migrate
            vmc create_index
            gunicorn vmc.config.wsgi:application --bind 0.0.0.0:8001 --access-logfile '-'
            ;;
       *)
            echo "Invalid Option, try: worker scheduler monitor admin"
        ;;
  esac
}

{
    if [[ $1 == 'start' ]]; then
      start $2
    else
      vmc $1
    fi
}