Failover

Shipped
alias active_passive

Active-passive HA — promote the next tier when the active recipient is unhealthy.

Example

How Failover decides — the pool is evaluated and the winner is assigned. Each strategy selects differently.

type == "lead"on failureon failureTriggerNew LeadWebhookFailoverFailoverStrategyprimaryactivesecondarystandbytertiarystandbyAssigned
Show the code
// Failover selects from the pool and assigns.
engine.Route(ductor.Route{
Match: `routable.type == "lead"`,
Strategy: "failover",
Pool: "sales-team",
})
 
// Durable, observable, exactly-once.
decision, err := engine.Dispatch(ctx, routable)

How it works

Ordered primary→secondary fallthrough. Sends everything to the active recipient and promotes the next tier the moment health checks fail. Redundancy with intent.

Health checksStateful