One moment, please!¶
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().
How to use the method call_later()¶
To use the call_later(), the following parameters should be given: time delay, callback method and its args.
No código a seguir o call_later() é utilizado na classe HelloAgent() no método on_start() chamando o método say_hello() 10,0 segundos após a inicialização do agente:
from pade.misc.utility import display_message, start_loop, call_later
from pade.core.agent import Agent
from pade.acl.messages import ACLMessage
from pade.acl.aid import AID
from sys import argv
class HelloAgent(Agent):
def __init__(self, aid):
super(HelloAgent, self).__init__(aid=aid, debug=False)
def on_start(self):
super().on_start()
self.call_later(10.0, self.say_hello)
def say_hello(self):
display_message(self.aid.localname, "Hello, I\'m an agent!")
if __name__ == '__main__':
agents = list()
hello_agent = HelloAgent(AID(name='hello_agent'))
agents.append(hello_agent)
start_loop(agents)