Implement ACTIVITY-WP-0026 ops_run claim queue (T01–T06).
Add durable claimable ops_runs table, emit dual-write on TaskSpec, REST claim/lease/complete/fail API, ops status visibility, and consumer docs aligned with ACT-ADR-005. T07 railiance rollout remains deploy-side.
This commit is contained in:
parent
a145cc4027
commit
15eb3a2066
15 changed files with 1294 additions and 27 deletions
|
|
@ -41,6 +41,7 @@ from temporalio.client import Client
|
|||
|
||||
from activity_core.models import ActivityDefinition, CronTriggerConfig
|
||||
from activity_core.ops_api import bind_ops_deps, router as ops_router
|
||||
from activity_core.ops_runs_api import bind_ops_runs_deps, router as ops_runs_router
|
||||
from activity_core.orm import ActivityDefinition as ActivityDefinitionRow, EventType as EventTypeRow
|
||||
from activity_core.schedule_manager import delete_schedule, upsert_schedule
|
||||
from activity_core.sync_service import run_sync
|
||||
|
|
@ -73,6 +74,7 @@ async def lifespan(app: FastAPI): # type: ignore[type-arg]
|
|||
_session_factory = async_sessionmaker(engine, expire_on_commit=False)
|
||||
_temporal_client = await Client.connect(TEMPORAL_HOST, namespace=TEMPORAL_NAMESPACE)
|
||||
bind_ops_deps(_get_db, _get_temporal)
|
||||
bind_ops_runs_deps(_get_db)
|
||||
|
||||
yield
|
||||
|
||||
|
|
@ -82,6 +84,7 @@ async def lifespan(app: FastAPI): # type: ignore[type-arg]
|
|||
app = FastAPI(title="activity-core API", lifespan=lifespan)
|
||||
app.include_router(webhook_router)
|
||||
app.include_router(ops_router)
|
||||
app.include_router(ops_runs_router)
|
||||
|
||||
|
||||
def _get_db() -> async_sessionmaker[AsyncSession]:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue