Recover unhealthy containers during create and rebuild
This commit is contained in:
@@ -107,7 +107,9 @@ function capacityFor(deployment: ProvisioningDeployment, evaluatedAt: string): P
|
||||
pools.push({ kind: 'startup', limit: settings.createConcurrency, used: holders.length, holders,
|
||||
requestOrder: order < 0 ? null : order + 1, ownsSlot: holders.some(holder => holder.id === deployment.id) });
|
||||
}
|
||||
if (['start', 'restart', 'rebuild'].includes(deployment.action)) {
|
||||
const creationRecovery = deployment.action === 'create' && db().prepare(`SELECT 1 FROM native_provisioning
|
||||
WHERE deployment_id=? AND recovery_step IS NOT NULL`).get(deployment.id);
|
||||
if (['start', 'restart', 'rebuild'].includes(deployment.action) || creationRecovery) {
|
||||
const holders = db().prepare(`SELECT operation_id AS id, server FROM restart_rollout WHERE healthy_at IS NULL
|
||||
ORDER BY requested_at, server`).all() as { id: string | null; server: string }[];
|
||||
pools.push({ kind: 'restart', limit: settings.restartConcurrency, used: holders.length, holders,
|
||||
|
||||
Reference in New Issue
Block a user