Hi Raffaele, just my two cents, but I think you could approach this like so:
1. Create two work pools, one for Cloud Run and one for Process (for job execution on-prem). Stand up a worker for each pool, one hosted on-prem, and one hosted as a Cloud Run service.
2. For each flow, create two deployments. One deployment that sends flow runs to the Cloud Run work pool (schedule set to inactive), and one that sends flow runs to the Process work pool (schedule set to active)
3. Configure a custom trigger in Prefect Cloud that fires off if more than X number of flow runs being sent to the Process pool enter a state of
Late
, as a result of Process workers becoming unavailable. The action can be to pause the schedules of the deployments going to Process pool, while simultaneously enabling the schedules of the deployments going to the Cloud Run pool