Friday, 11 April 2025

get replcia_list

Filled under:

 - 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