mirror of
https://github.com/hansjone/netx.git
synced 2026-10-10 06:10:47 +08:00
Defer canvas edge deletes to Save and cascade orphan Fabric on NE detach.
Queue fabric edge deletes until Save with undo-safe pending state; hard-delete topology/LLDP placeholders from the canvas; purge fully orphaned fabric nodes after inventory detach, with a periodic reconcile GC. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
2aafb72676
commit
6e2c8517cf
16 changed files with 732 additions and 166 deletions
|
|
@ -49,6 +49,7 @@ _schedule_log = logging.getLogger("netx.ume.schedule")
|
|||
def start_device_schedulers() -> None:
|
||||
"""Start device-facing periodic collectors (safe to call once per process)."""
|
||||
from .config_sync_scheduler import start_config_sync_scheduler
|
||||
from .fabric_reconcile_scheduler import start_fabric_reconcile_scheduler
|
||||
from .lldp_collect_scheduler import start_lldp_collect_scheduler
|
||||
from .port_traffic_scheduler import start_port_traffic_scheduler
|
||||
from .scheduler_heartbeat import start_scheduler_heartbeat_publisher
|
||||
|
|
@ -56,6 +57,7 @@ def start_device_schedulers() -> None:
|
|||
start_config_sync_scheduler()
|
||||
start_lldp_collect_scheduler()
|
||||
start_port_traffic_scheduler()
|
||||
start_fabric_reconcile_scheduler()
|
||||
# Publish status so API /metrics can see collectors when run in a split worker.
|
||||
role = "api_inline" if bool(getattr(settings, "run_inline_schedulers", True)) else "worker"
|
||||
start_scheduler_heartbeat_publisher(role=role)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue