|
import subprocess |
|
import threading |
|
|
|
def start_prefect_worker(work_pool_name: str = "ot2-pool"): |
|
def worker_runner(): |
|
print(f"Starting Prefect Worker for work pool: {work_pool_name}") |
|
subprocess.run([ |
|
"prefect", "worker", "start", |
|
"--pool", work_pool_name |
|
]) |
|
worker_thread = threading.Thread(target=worker_runner, daemon=True) |
|
worker_thread.start() |
|
print("Prefect Worker started in background thread.") |
|
|
|
|
|
from prefect.client import get_client |
|
|
|
async def trigger_maintenance_request(maintenance_type: str): |
|
async with get_client() as client: |
|
|
|
deployment = await client.read_deployment_by_name( |
|
name="request-wells-maintenance/wells-maintenance" |
|
) |
|
|
|
await client.create_flow_run_from_deployment( |
|
deployment_id=deployment.id, |
|
parameters={"maintenance_type": maintenance_type} |
|
) |