- type: javascript
name: parse_leader_and_replicas
script: |
const raw = patroni_roles_output.stdout.trim();
const lines = raw.split("\n");
let leader = null;
let replicas = [];
for (const line of lines) {
const [node, role] = line.split(",");
if (role === "Leader") {
leader = node;
} else {
replicas.push(node);
}
}
if (!leader) {
fail("❌ Could not determine current leader from Patroni output.");
} else {
proceed({
message: "✅ Leader and replicas identified.",
leader: leader,
replicas: replicas
});
}
--------
- type: javascript
name: parse_patroni_nodes
script: |
const output = patroni_list_output.stdout.trim();
const lines = output.split("\n");
let leader = null;
let replicas = [];
for (const line of lines) {
const [node, role] = line.split(",");
if (role === "Leader") {
leader = node;
} else if (role === "Replica") {
replicas.push(node);
}
}
if (!leader) {
fail("❌ Unable to identify the current leader from Patroni.");
} else {
proceed({
message: `✅ Leader: ${leader}, Replicas: ${replicas.join(", ")}`,
leader: leader,
replicas: replicas
});
}





0 comments:
Post a Comment