Can a single Prefect agent execute multiple flow runs scheduled to run at the same time?

Yes. Prefect has an asynchronous scheduling service whose only job is to correctly generate future flow runs and the agent is a lightweight process that is polling for scheduled flow runs and executing those as:

  • a subprocess - a local agent
  • a docker container - a docker agent
  • a Kubernetes job - a Kubernetes agent
  • an ECS task - an ECS agent
  • a Vertex job - a Vertex agent.