refs #525 partially implement comandosPendientes()

versions
Natalia Serrano 2024-07-26 12:17:02 +02:00
parent 5f7ca5be15
commit 5482d25116
1 changed files with 28 additions and 3 deletions

View File

@ -166,8 +166,11 @@ class ogAdmClientWorker(ServerWorker):
if (not self.autoexecCliente()):
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
#logger.info ('Procesa comandos pendientes')
#logger.info ('Acciones pendientes procesadas')
logger.info ('Procesa comandos pendientes')
if (not self.comandosPendientes()):
raise Exception ('Se han generado errores. No se puede continuar la ejecución de este módulo')
logger.info ('Acciones pendientes procesadas')
def onDeactivation(self):
"""
@ -342,7 +345,7 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
logger.debug ('parametroscfg ({})'.format (parametroscfg))
return (parametroscfg)
def enviaMensajeServidor(self, path, obj):
def enviaMensajeServidor(self, path, obj={}):
obj['iph'] = self.IPlocal ## Ip del ordenador
obj['ido'] = self.idordenador ## Identificador del ordenador
obj['npc'] = self.nombreordenador ## Nombre del ordenador
@ -474,6 +477,28 @@ with open (subprocs_log, 'ab') as fd: ## TODO improve this logging
return True
def comandosPendientes(self):
while (True):
res = self.enviaMensajeServidor ('ComandosPendientes') ## recibe un solo comando
if (not res):
logger.error ('Ha ocurrido algún problema al enviar una petición de comandos o tareas pendientes al Servidor de Administración')
logger.error ('Ha ocurrido algún problema al recibir una petición de comandos o tareas pendientes desde el Servidor de Administración')
return False
logger.info (res)
if ('NoComandosPtes' == res['nfn']):
break
## TODO gestionar los demás casos... igual toca hacer algo parecido a ejecutaArchivo
#if(!gestionaTrama(ptrTrama)){ // Análisis de la trama
# logger.error ('Ha ocurrido algún problema al procesar la trama recibida')
# return False
#}
## de momento le pongo un return False para evitar un posible bucle infinito
return False
return True
def process_NoComandosPtes(self, path, get_params, post_params, server):
logger.warn('in process_NoComandosPtes')