コード例 #1
0
ファイル: basic.py プロジェクト: thiagogenez/agents-tac
def main():
    """Run the script."""
    args = parse_arguments()

    if args.gui:
        dashboard = AgentDashboard(agent_name=args.name, env_name=args.name)
    else:
        dashboard = None

    strategy = BaselineStrategy(register_as=RegisterAs(args.register_as),
                                search_for=SearchFor(args.search_for),
                                is_world_modeling=args.is_world_modeling)
    agent = BaselineAgent(
        name=args.name,
        oef_addr=args.oef_addr,
        oef_port=args.oef_port,
        agent_timeout=args.agent_timeout,
        strategy=strategy,
        max_reactions=args.max_reactions,
        services_interval=args.services_interval,
        pending_transaction_timeout=args.pending_transaction_timeout,
        dashboard=dashboard,
        private_key_pem=args.private_key_pem)

    try:
        agent.start(rejoin=args.rejoin)
    finally:
        agent.stop()
コード例 #2
0
ファイル: baseline.py プロジェクト: echallenge/agents-tac
def main(
        name: str = "baseline_agent",
        oef_addr: str = "127.0.0.1",
        oef_port: int = 10000,
        agent_timeout: float = 1.0,
        max_reactions: int = 100,
        register_as: str = "both",
        search_for: str = "both",
        is_world_modeling: bool = False,
        services_interval: int = 5,
        pending_transaction_timeout: int = 30,
        private_key_pem: Optional[str] = None,
        rejoin: bool = False,
        dashboard: bool = False,
        visdom_addr: str = "127.0.0.1",
        visdom_port: int = 8097,
        expected_version_id: str = str(random.randint(0, 10000)),
):
    """
    Launch a baseline agent.

    Main entrypoint for starting a baseline agent.
    Please run the module with hte '--help flag' to get more details about the parameters.
    """
    agent_dashboard = None  # type: Optional[AgentDashboard]
    if dashboard:
        agent_dashboard = AgentDashboard(
            agent_name=name,
            env_name=name,
            visdom_addr=visdom_addr,
            visdom_port=visdom_port,
        )

    strategy = BaselineStrategy(
        register_as=RegisterAs(register_as),
        search_for=SearchFor(search_for),
        is_world_modeling=is_world_modeling,
    )
    agent = BaselineAgent(
        name=name,
        oef_addr=oef_addr,
        oef_port=oef_port,
        strategy=strategy,
        expected_version_id=expected_version_id,
        agent_timeout=agent_timeout,
        max_reactions=max_reactions,
        services_interval=services_interval,
        pending_transaction_timeout=pending_transaction_timeout,
        dashboard=agent_dashboard,
        private_key_pem=private_key_pem,
    )

    try:
        agent.start(rejoin=rejoin)
    except KeyboardInterrupt:
        logging.debug("Baseline agent {} interrupted...".format(
            repr(agent.name)))
    finally:
        agent.stop()
コード例 #3
0
def main():
    """Run the script."""
    args = parse_arguments()

    if args.dashboard:
        agent_dashboard = AgentDashboard(
            agent_name=args.name,
            visdom_addr=args.visdom_addr,
            visdom_port=args.visdom_port,
            env_name=args.name,
        )
    else:
        agent_dashboard = None

    set_agent_state(args.expected_version_id, None)

    strategy = BaselineStrategy(
        register_as=RegisterAs(args.register_as),
        search_for=SearchFor(args.search_for),
        is_world_modeling=args.is_world_modeling,
    )
    agent = BaselineAgent(
        name=args.name,
        oef_addr=args.oef_addr,
        oef_port=args.oef_port,
        agent_timeout=args.agent_timeout,
        strategy=strategy,
        max_reactions=args.max_reactions,
        services_interval=args.services_interval,
        pending_transaction_timeout=args.pending_transaction_timeout,
        dashboard=agent_dashboard,
        private_key_pem=args.private_key_pem,
        expected_version_id=args.expected_version_id,
    )

    # Create thread to pull status
    kill_event = threading.Event()
    status_thread = threading.Thread(target=monitor_status, args=(agent, ))
    status_thread.start()

    try:
        agent.start(rejoin=args.rejoin)
    finally:
        agent.stop()

    # Stop the status monitoring thread
    kill_event.set()
    status_thread.join(120)

    set_agent_state(args.expected_version_id, None)