def METHOD_NAME() -> None:
    # scheduled task that checks and approves updates daily
    agents = Agent.objects.only(
        "pk", "agent_id", "version", "last_seen", "overdue_time", "offline_time"
    )
    for agent in agents:
        agent.delete_superseded_updates()
        try:
            agent.approve_updates()
        except:
            continue
    online = [
        i
        for i in agents
        if i.status == AGENT_STATUS_ONLINE
        and pyver.parse(i.version) >= pyver.parse("1.3.0")
    ]
    chunks = (online[i : i + 40] for i in range(0, len(online), 40))
    for chunk in chunks:
        for agent in chunk:
            asyncio.run(agent.nats_cmd({"func": "getwinupdates"}, wait=False))
        time.sleep(1)