CofeehousePy/scripts/warmup.py

191 lines
5.8 KiB
Python

"""
This script is executed on start-up after starting up the services, this is intended to check if all the services
has started correctly and load all the resources that are required are loaded, after this program is done
executing, the bootstrap should start the ping service so that programs know that CoffeeHouse-Utils is ready.
"""
import urllib.parse
import requests
import base64
import time
import sys
import os
def core_nlp():
print("[CORENLP] Warming up")
current_tries = 0
max_tries = 30 # 5 Minutes
while True:
if current_tries > max_tries:
print("[CORENLP] ERROR! Too many attempts")
sys.exit(1)
try:
r = requests.post("http://127.0.0.1:5604/?properties={\"annotators\": \"tokenize,ssplit,pos,ner,regexner,"
"sentiment\"}&pipelineLanguage=en",
headers={"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"},
data=urllib.parse.quote_plus("The quick brown fox jumped over the lazy dog")
)
if r.status_code == 200:
print("[CORENLP] OK")
break
else:
print("[CORENLP] Failed, Returned status code {0}, '{1}'".format(str(r.status_code), r.text))
except:
print("[CORENLP] Failed, request not completed")
pass
print("[CORENLP] Waiting 10 seconds")
time.sleep(10)
current_tries += 1
print("[CORENLP] Started successfully")
def langdetect():
print("[LANGDETECT] Warming up")
current_tries = 0
max_tries = 30 # 5 Minutes
while True:
if current_tries > max_tries:
print("[LANGDETECT] ERROR! Too many attempts")
sys.exit(1)
try:
r = requests.post("http://127.0.0.1:5606/", data={"input": "The quick brown fox jumped over the lazy dog"})
if r.status_code == 200:
print("[LANGDETECT] OK")
break
else:
print("[LANGDETECT] Failed, Returned status code {0}, '{1}'".format(str(r.status_code), r.text))
except:
print("[LANGDETECT] Failed, request not completed")
pass
print("[LANGDETECT] Waiting 10 seconds")
time.sleep(10)
current_tries += 1
print("[LANGDETECT] Started successfully")
def spamdetect():
print("[SPAMDETECT] Warming up")
current_tries = 0
max_tries = 30 # 5 Minutes
while True:
if current_tries > max_tries:
print("[SPAMDETECT] ERROR! Too many attempts")
sys.exit(1)
try:
r = requests.post("http://127.0.0.1:5601/", data={"input": "The quick brown fox jumped over the lazy dog"})
if r.status_code == 200:
print("[SPAMDETECT] OK")
break
else:
print("[SPAMDETECT] Failed, Returned status code {0}, '{1}'".format(str(r.status_code), r.text))
except:
print("[SPAMDETECT] Failed, request not completed")
pass
print("[SPAMDETECT] Waiting 10 seconds")
time.sleep(10)
current_tries += 1
print("[SPAMDETECT] Started successfully")
def emotion():
print("[EMOTION] Warming up")
current_tries = 0
max_tries = 30 # 5 Minutes
while True:
if current_tries > max_tries:
print("[EMOTION] ERROR! Too many attempts")
sys.exit(1)
try:
r = requests.post("http://127.0.0.1:5605/", data={"input": "The quick brown fox jumped over the lazy dog"})
if r.status_code == 200:
print("[EMOTION] OK")
break
else:
print("[EMOTION] Failed, Returned status code {0}, '{1}'".format(str(r.status_code), r.text))
except:
print("[EMOTION] Failed, request not completed")
pass
print("[EMOTION] Waiting 10 seconds")
time.sleep(10)
current_tries += 1
print("[SPAMDETECT] Started successfully")
def nsfw():
print("[NSFW] Warming up")
current_tries = 0
max_tries = 30 # 5 Minutes
with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), "red.jpg"), "rb") as img_file:
image_data = base64.b64encode(img_file.read()).decode('utf-8')
while True:
if current_tries > max_tries:
print("[NSFW] ERROR! Too many attempts")
sys.exit(1)
try:
r = requests.post("http://127.0.0.1:5602/", data={
"input": image_data,
"type": "jpg"
})
if r.status_code == 200:
print("[NSFW] OK")
break
else:
print("[NSFW] Failed, Returned status code {0}, '{1}'".format(str(r.status_code), r.text))
except:
print("[NSFW] Failed, request not completed")
pass
print("[NSFW] Waiting 10 seconds")
time.sleep(10)
current_tries += 1
print("[NSFW] Started successfully")
print(" ( ) ( ) )")
print(" ) ( ) ( (")
print(" ( ) ( ) )")
print(" _____________")
print(" <_____________> ___")
print(" | |/ _ \\")
print(" | | | |")
print(" | |_| |")
print(" ___| |\___/")
print("/ \___________/ \\")
print("\_____________________/")
print()
print("CoffeeHouse-Utils Warmup")
core_nlp()
spamdetect()
langdetect()
emotion()
nsfw()
print("OK, CoffeeHouse-Utils seems to be running fine.")
print("Exiting with code 0, the ping service should start in the next step.")
sys.exit(0)