Skip to content

feat(network): add LAN bandwidth and upload scheduling controls #63

Description

@05F3759DF

Context

Dozens of robots can saturate the LAN, MinIO, or the Keystone edge node if they upload large MCAP files at the same time. Keystone needs central upload scheduling controls that coordinate with Axon Transfer and expose backlog pressure to operators.

Related Axon issue: archebase/axon#87

Scope

  • Add central upload scheduling policies for per-device concurrency, global concurrency, priority, and optional bandwidth caps.
  • Use task, batch, order, QA, and operator priority to choose which uploads should run first.
  • Expose upload backlog counts, backlog bytes, active uploads, waiting ACK counts, and recent throughput per device.
  • Allow operators to pause, resume, or reprioritize uploads for a robot, workstation, batch, or order.
  • Coordinate scheduling messages with Axon Transfer so devices do not all upload at once.
  • Surface LAN or upload saturation warnings in operations dashboard APIs.

Acceptance Criteria

  • Keystone can represent upload scheduling policies and current effective limits.
  • Upload dispatch respects per-device and global concurrency settings.
  • Operators can inspect upload backlog and active upload state by device and batch or order.
  • Operators can pause, resume, or reprioritize eligible upload work.
  • Tests or smoke coverage validate scheduling order, concurrency caps, and pause/resume behavior.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:networkLAN bandwidth, scheduling, and network constraintsarea:uploadUpload queue, transfer, and sync workflowscross-repo:axonRequires coordination with archebase/axonenhancementNew feature or requestpriority:p1High priority for production operations

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions