Forum Discussion

Rahul's avatar
Rahul
New Contributor III
4 years ago

How to call pipeline (Have rest get snap) recursively

I am having a child pipeline calling rest get snap and we have a status column values (0 or 1) in response we need to check status until status comes ‘0’.

6 Replies

  • SpiroTaleski's avatar
    SpiroTaleski
    Valued Contributor

    @Rahul

    There are two ways that I can think of at the moment, of how you can implement the retry:

    1. Handling the retry on the parent pipeline

      • After pipeline execute, check the status using Router Snap. If its 1 then call the child pipeline again. If its 0 then proceed with post - processing steps.

    1. Handling retry on child pipeline level:

      • After the REST Call, to have a check for the status. If its 1 then self-call the child pipeline until the status comes to 1.

    You can also implement a counter, where you will specify the number of retries.

    Regards,
    Spiro Taleski

    • Rahul's avatar
      Rahul
      New Contributor III

      Can you please share export of both of the pipeline

    • j_angelevski's avatar
      j_angelevski
      Contributor III

      Hi @Rahul,

      If the $entity.exports will always be an array of a single object then you can check the status with the following expression: $entity.exports[0].status or jsonPath($, "$entity.exports[*].status").toString(). If the exports array can have multiple objects with multiple statuses, then that depends which status you want to check.

      • Rahul's avatar
        Rahul
        New Contributor III

        If status comes 1 for the first API hit then we need to retry until status comes 0.

        Note: The status column can have two values (1 or 0). 1 indicates a report in progress and 0 indicates a report in progress.