Home Page do Portal
Brasil, um país de todos

Changeset 436

Show
Ignorar:
Timestamp:
05/12/08 17:58:48
Autor:
rogeriolino@gmail.com
Mensagem:

Melhorada verificacao do socket, retirada de dentro do loop.
Removido print stack.

Arquivos:

Legenda:

Não modificado
Adicionado
Removido
Modificado
Copiado
Movido
  • cacic/trunk/agente-linux/pycacic/src/cacic.py

    r433 r436  
    1515    def __init__(self):        
    1616        try: 
    17              
     17            # adiciona o diretorio do pycacic ao sys.path 
    1818            sys.path[0] = Globals.PATH 
    1919             
     
    3737            self.udp_sock = socket.socket(AF_INET, SOCK_DGRAM) 
    3838            self.udp_sock.bind(self.addr) 
     39            # executa thread para escutar o socket 
     40            thread.start_new_thread(self.checkSocket, ()) 
    3941            while 1: 
    4042                # verifica se o coletor nao esta parado 
     
    4345                    self.gc_stopped = 1 # True 
    4446                    # conecta ao servidor para pegar as informacoes 
    45                     xml = self.gc.conecta(self.gc.cacic_url, self.gc.dicionario) 
    46                     print(" Contato com o Gerente Web: %s" % strftime("%H:%M:%S")) 
    47                     self.gc.readXML(xml) 
     47                    self.conecta() 
    4848                    # com o coletor parado (dormindo) dispara timeout para iniciar a coleta 
    4949                    # apos o intervalo de tempo definido pelo servidor  
     
    5858                    # muda estado para nao habilitado 
    5959                    self.gc_ok = 0 # False 
     60                    # conecta ao servidor para pegar as informacoes 
     61                    # pode ter ocorrido alguma mudanca desde a ultima 
     62                    self.conecta() 
    6063                    # inicia coletas 
    6164                    self.gc.coletas_forcadas = self.isforcada 
    62                     thread.start_new_thread(self.start, ()) 
    63                 # executa thread para escutar o socket 
    64                 thread.start_new_thread(self.checkSocket, ()) 
     65                    thread.start_new_thread(self.start, ())                 
    6566                time.sleep(2) 
    6667            # fechando conexao 
    6768            self.udp_sock.close() 
    6869        except Exception, e: 
    69             import traceback 
    70             traceback.print_exc() 
    7170            print e 
    72  
    7371     
    7472    def isRoot(self): 
     
    7674        if os.getuid() != 0: 
    7775            return 0 # False 
    78         return 1 # True 
    79      
     76        return 1 # True     
    8077 
    8178    def start(self): 
    8279        """Inicia as coletas""" 
    83         try: 
    84             self.gc_started = 1 # True             
    85             self.isforcada = [] 
    86             print(" --- INICIO DAS COLETAS ---") 
    87             print 'Total Coletas: %s' % len(self.gc.coletores) 
    88             print('\tColetas a serem feitas: \n\t(%s)' % ', '.join(self.gc.coletores.keys())) 
    89             self.gc.startColeta() 
    90             self.gc.createDat() 
    91             self.gc.sendColetas() 
    92             self.gc_started = 0 # False 
    93             print(" --- FIM DAS COLETAS ---") 
    94         except Exception, e: 
    95             print e 
     80        self.gc_started = 1 # True             
     81        self.isforcada = [] 
     82        print(" --- INICIO DAS COLETAS ---") 
     83        print 'Total Coletas: %s' % len(self.gc.coletores) 
     84        print('\tColetas a serem feitas: \n\t(%s)' % ', '.join(self.gc.coletores.keys())) 
     85        self.gc.startColeta() 
     86        self.gc.createDat() 
     87        self.gc.sendColetas() 
     88        self.gc_started = 0 # False 
     89        print(" --- FIM DAS COLETAS ---") 
    9690 
    9791    def timeout(self): 
     
    10599        self.gc_stopped = 0 # False 
    106100        self.gc_ok = 1 # True 
     101         
     102    def conecta(self): 
     103        """Conecta ao Gerente Web para pegar informacoes de configuracao""" 
     104        xml = self.gc.conecta(self.gc.cacic_url, self.gc.dicionario) 
     105        print(" Contato com o Gerente Web: %s" % strftime("%H:%M:%S")) 
     106        self.gc.readXML(xml) 
    107107 
    108108    def checkSocket(self): 
     
    110110        data, self.addr = self.udp_sock.recvfrom(self.buf) 
    111111        self.isforcada.append(data) 
     112        self.checkSocket() 
    112113 
    113114