#!/bin/bash

SLEEP_TIME_BEFORE_RECONNECT=5
enabled=false

while getopts r:s:p:m:l:c:e flag
do
    case "${flag}" in
        r) receiver=${OPTARG};;
        s) service=${OPTARG};;
        p) port=${OPTARG};;
        m) memory=${OPTARG};;
        l) limit=${OPTARG};;
        c) count=${OPTARG};;
        e) enabled=true;;
        *) exit 0;
    esac
done

if $enabled; then
  until timeout 1 bash -c "cat < /dev/null > /dev/tcp/$service/$port" >/dev/null 2>&1; do
      echo "$(date) - Trying connect to $service:$port"
      sleep $SLEEP_TIME_BEFORE_RECONNECT
  done
  echo "$(date) - Connection to $service:$port established"
fi

php bin/console messenger:consume "$receiver" --memory-limit="$memory" --time-limit="$limit" --limit=$count
