from django.apps import AppConfig import multiprocessing import requests import logging from django.apps import apps from django.conf import settings import time import re class RoutinesConfig(AppConfig): name = 'routines' # Implementación para un servidor de rutinas independiente, de momento no merece la pena # def ready(self): # try: # TASK_SERVER_IP = settings.TASK_SERVER_IP # except AttributeError: # settings.TASK_SERVER_IP = '127.0.0.1:8001' # TASK_SERVER_IP = settings.TASK_SERVER_IP # # try: # status = requests.get('http://{}/status'.format(TASK_SERVER_IP)) # except requests.exceptions.ConnectionError: # logging.warning('TASK SERVER SHUTDOWN') # logging.warning('STARTING TASK SERVER') # PORT = int(re.findall('.*:(.*)', settings.TASK_SERVER_IP)[0]) # task_server_process = multiprocessing.Process(target=lambda: # taskServer.app.listen(PORT) & taskServer._ioloop.start(), # name='TASK_SERVER_LOOP') # task_server_process.start() # logging.warning('WAITING TASK SERVER') # steps = 0 # while steps < 800: # try: # status = requests.get('http://{}/status'.format(TASK_SERVER_IP)) # logging.info('TASK SERVER ON') # except requests.exceptions.ConnectionError: # time.sleep(0.1) # steps += 1 # continue # break # logging.info('TASK SERVER STARTED')