feat(cdc): add Re-sync sources button + auto-heal for Debezium connectors
- streaming_ops: add connector status discovery, manual resync endpoint (POST /api/pipeline/streaming/resync), connectors status endpoint, and a background connector_autoheal_loop that restarts FAILED tasks automatically - main: wire connector_autoheal_loop into app lifespan - api.ts: add resyncSources() helper - ChangesView: add "Re-sync sources" header button with live status
This commit is contained in:
@@ -47,6 +47,7 @@ from elasticsearch_api import router as elasticsearch_router
|
||||
from sql_console import router as sql_router
|
||||
from agent_ops import router as agent_ops_router, agent_dml_loop, etl_agent_loop, custodian_offload_loop
|
||||
from agent_activity import agent_activity_loop
|
||||
from streaming_ops import connector_autoheal_loop
|
||||
from cdc_consumer import router as cdc_router, cdc_consumer_loop
|
||||
from movements import router as movements_router
|
||||
from movements import MOVEMENT_BY_ID, trigger_and_watch
|
||||
@@ -737,6 +738,7 @@ async def lifespan(app: FastAPI):
|
||||
etl_task = asyncio.create_task(etl_agent_loop())
|
||||
cust_task = asyncio.create_task(custodian_offload_loop())
|
||||
act_task = asyncio.create_task(agent_activity_loop())
|
||||
heal_task = asyncio.create_task(connector_autoheal_loop())
|
||||
add_feed("infra-sentinel", "ATC Command Center API online", "info")
|
||||
yield
|
||||
task.cancel()
|
||||
@@ -745,6 +747,7 @@ async def lifespan(app: FastAPI):
|
||||
etl_task.cancel()
|
||||
cust_task.cancel()
|
||||
act_task.cancel()
|
||||
heal_task.cancel()
|
||||
if redis_client:
|
||||
await redis_client.close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user