OT-2-LCM / prefect_utils.py
Neil-YL's picture
Add HITL
0cbf4c9 verified
raw
history blame contribute delete
936 Bytes
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:
# find deployment id
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}
)