Um momento Por Favor! ===================== Com PADE é possível adiar a execução de um determinado trecho de código de forma bem simples! É só utilizar o método *call_later()* disponível na classe *Agent()*. Como utilizar o método call_later() ----------------------------------- Para utilizar *call_later()*, os seguintes parâmetros devem ser especificados: tempo de atraso, metodo que deve ser chamado após este tempo e argumento do metodo utilizado, *call_later(tempo, metodo, *args)*. No código a seguir utiliza *call_later()* é utilizado na classe *Remetente()* no método *on_start()* para assegurar que todos os agentes já foram lançados na plataforma, chamando o método *send_message()* 4,0 segundos após a inicialização dos agentes: :: from pade.misc.utility import display_message from pade.misc.common import set_ams, start_loop from pade.core.agent import Agent from pade.acl.aid import AID from pade.acl.messages import ACLMessage class Remetente(Agent): def __init__(self, aid): super(Remetente, self).__init__(aid=aid, debug=False) def on_start(self): self.call_later(4.0, self.send_message) def send_message(self): display_message(self.aid.localname, 'Enviando Mensagem') message = ACLMessage(ACLMessage.INFORM) message.add_receiver(AID('destinatario')) message.set_content('Ola') self.send(message) def react(self, message): pass class Destinatario(Agent): def __init__(self, aid): super(Destinatario, self).__init__(aid=aid, debug=False) def react(self, message): display_message(self.aid.localname, 'Mensagem recebida') if __name__ == '__main__': set_ams('localhost', 8000, debug=False) agentes = list() destinatario = Destinatario(AID(name='destinatario')) destinatario.ams = {'name': 'localhost', 'port': 8000} agentes.append(destinatario) remetente = Remetente(AID(name='remetente')) remetente.ams = {'name': 'localhost', 'port': 8000} agentes.append(remetente) start_loop(agentes, gui=True)