Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/01/2010, 09:52
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Hilos, módulos y cómo manejarlos

he aquí el esqueleto básico del "sistema"

principal.py
Código Python:
Ver original
  1. # cargar configuración
  2. c = config.cargarConfig()
  3.  
  4. # iniciar carga y ejecución de componentes
  5. for componente in c:
  6.     c[componente]['mod'] = __import__(componente.lower())
  7.     c[componente]['mod'].iniciarComponente()

componente.py
Código Python:
Ver original
  1. class componente(threading.Thread):
  2.     def __obtenerSessID(self):
  3.     def __login(self):
  4.     def __obtener_grupos_usuario(self):
  5.     def __obtenerTickets(self):
  6.     def run(self):
  7.         self.__obtenerSessID()
  8.         self.__login()
  9.  
  10.         if self.__sesionActiva:
  11.             self.__grupos = self.__obtener_grupos_usuario()
  12.  
  13.             while not self.terminar:
  14.                 self.__obtenerTickets()
  15.                 time.sleep(intervalo)
  16.  
  17. #
  18. # Arrancando la clase (a nivel de módulo)...
  19. def iniciarComponente():
  20.     componente().start()

Entonces el problema descripto es que yo quiero poder hacer una llamada a __obtener_grupos_usuario() y obtener la respuesta sin interrumpir el hilo (o interrumpiéndolo, pero sin tener que "desechar" el objeto ya que no quiero tener que repetir las llamadas a __login() )