added init process
This commit is contained in:
		| @@ -226,6 +226,37 @@ create_framework_json() { | ||||
|   ' | jq -r . >/etc/user/config/services/service-framework.json | ||||
| } | ||||
|  | ||||
| execute_task() { | ||||
|       TASK="$1" | ||||
|       JSON="$2 | base64 -d" | ||||
|  | ||||
|       # Executing task | ||||
|       echo "TASK: $(echo $TASK | cut -d ':' -f1)" | ||||
|       TASK_NAME=$(echo $TASK | cut -d ':' -f1); | ||||
|  | ||||
|       if [ "$TASK_NAME" == "init" ]; then | ||||
|             # checking sytem status | ||||
|             SYSTEM_STATUS=$(ls /etc/user/config/services/*.json |grep -v service-framework.json) | ||||
|             if [ "$SYSTEM_STATUS" != "" ]; then | ||||
|                   JSON_TARGET=$(echo $JSON | jq -rc .'STATUS="1"' | base64 -w0); | ||||
|                   INSTALLED_SERVICES=$(ls /etc/user/config/services/*.json | | cut -d '.' -f1); | ||||
|                   JSON_TARGET=$(echo $JSON | jq -rc .'INSTALLED_SERVICES="'$INSTALLED_SERVICES'"' | base64 -w0); | ||||
|             else | ||||
|                   JSON_TARGET=$(echo $JSON | jq -rc .'INSTALLED_SERVICES="'$INSTALLED_SERVICES'"' | base64 -w0); | ||||
|                   JSON_TARGET=$(echo $JSON | jq -rc .'STATUS="2"' | base64 -w0);       | ||||
|             fi | ||||
|  | ||||
|       if  | ||||
|  | ||||
|       if [ "$?" == "0" ]; then | ||||
|             JSON_TARGET=$(echo $JSON | jq -rc .'STATUS="1"' | base64 -w0); | ||||
|       else | ||||
|             JSON_TARGET=$(echo $JSON | jq -rc .'STATUS="2"' | base64 -w0); | ||||
|       fi | ||||
|              | ||||
|       redis-cli -h $REDIS_SERVER -p $REDIS_PORT SET $TASK "$JSON_TARGET"; | ||||
| } | ||||
|  | ||||
| check_redis_availability() { | ||||
|       REDIS_SERVER="$1" | ||||
|       REDIS_PORT="$2" | ||||
| @@ -302,36 +333,26 @@ check_redis_availability $REDIS_SERVER $REDIS_PORT $CURL_RETRIES $CURL_SLEEP_SHO | ||||
| echo `date`" Scheduler initialized, starting listening for events" | ||||
| while true; do | ||||
|  | ||||
|       IDS="" | ||||
|       TASKS="" | ||||
|  | ||||
|       # GET DEPLOYMENT IDs FROM generate key | ||||
|       IDS=$(redis-cli -h $REDIS_SERVER -p $REDIS_PORT SMEMBERS web_in) | ||||
|       if [[ "$IDS" != "0" && "$IDS" != "" ]]; then | ||||
|       TASKS=$(redis-cli -h $REDIS_SERVER -p $REDIS_PORT SMEMBERS web_in) | ||||
|       if [[ "$TASKS" != "0" && "$TASKS" != "" ]]; then | ||||
|  | ||||
|             # PROCESSING IDS | ||||
|             for I in $(echo $IDS); do | ||||
|             # PROCESSING TASK | ||||
|             for TASK in $(echo $TASKS); do | ||||
|  | ||||
|                   ### READ DATA FROM REDIS | ||||
|                   JSON=$(redis-cli -h $REDIS_SERVER -p $REDIS_PORT GET $I | base64 -d) | ||||
|                   DOMAIN=$(echo "$JSON" | jq -r '.DOMAIN') | ||||
|                   TYPE=$(echo "$JSON" | jq -r '.TYPE') | ||||
|                   ACTION=$(echo "$JSON" | jq -r '.ACTION') | ||||
|                   PAYLOAD=$(echo "$JSON" | jq -r '.PAYLOAD') | ||||
|                   ### READ TASKS FROM REDIS | ||||
|                   JSON=$(redis-cli -h $REDIS_SERVER -p $REDIS_PORT GET $TASK | base64 -d) | ||||
|  | ||||
|                   JSON_TARGET=$(echo $JSON | jq -rc .'STATUS="0"' | base64 -w0); | ||||
|                   redis-cli -h $REDIS_SERVER -p $REDIS_PORT SET $I "$JSON_TARGET"; | ||||
|                   redis-cli -h $REDIS_SERVER -p $REDIS_PORT SET $TASK "$JSON_TARGET"; | ||||
|  | ||||
|                   execute_task $TASK $JSON & | ||||
|                    | ||||
|                   if [ "$?" == "0" ]; then | ||||
|                         JSON_TARGET=$(echo $JSON | jq -rc .'STATUS="1"' | base64 -w0); | ||||
|                   else | ||||
|                         JSON_TARGET=$(echo $JSON | jq -rc .'STATUS="2"' | base64 -w0); | ||||
|                   fi | ||||
|                          | ||||
|                   redis-cli -h $REDIS_SERVER -p $REDIS_PORT SET $I "$JSON_TARGET"; | ||||
|                    | ||||
|                   # MOVE ID from generate into generated | ||||
|                   redis-cli -h $REDIS_SERVER -p $REDIS_PORT SREM web_in $I | ||||
|                   redis-cli -h $REDIS_SERVER -p $REDIS_PORT SADD web_out $I | ||||
|                   # MOVE TASK from generate into generated | ||||
|                   redis-cli -h $REDIS_SERVER -p $REDIS_PORT SREM web_in $TASK | ||||
|                   redis-cli -h $REDIS_SERVER -p $REDIS_PORT SADD web_out $TASK | ||||
|  | ||||
|             done | ||||
|       fi | ||||
|   | ||||
		Reference in New Issue
	
	Block a user