Forum Discussion

Re: Pipeline "for each" loops

... The plot thickens.  Support says that the steps in a For Each loop run asynchronously and thus the sequence cannot be controlled.

I have asked for an Escalation to Pipeline HQ :) as there are valid use cases when For Each loops need to have a controlled sequence.

... say tuned.

------------------------------
Mark Shnier (YQC)
Quick Base Solution Provider
Your Quick Base Coach
http://QuickBaseCoach.com
mark.shnier@gmail.com
------------------------------

13 Replies

  • QuickBaseJunkie's avatar
    QuickBaseJunkie
    Icon for Qrew Legend rankQrew Legend
    @Mark Shnier (YQC) I don't see how that's possible... each step has access to information from a prior step. That means it must 'run' the prior step for that info to be used in the current step...

    I suppose, however, that if a step doesn't USE any info from a prior step, pipelines could determine there is no reason to wait to run it...

    Which is likely the case for your webhooks that don't use any data from prior steps.​

    ------------------------------
    Sharon Faust (QuickBaseJunkie.com)
    Founder, Quick Base Junkie
    https://quickbasejunkie.com
    ------------------------------
    • MarkShnier__You's avatar
      MarkShnier__You
      Icon for Qrew Legend rankQrew Legend
      Right, so maybe the escalation expert will come back with a way to trick it into waiting for he completion of the previous step.

      ------------------------------
      Mark Shnier (YQC)
      Quick Base Solution Provider
      Your Quick Base Coach
      http://QuickBaseCoach.com
      mark.shnier@gmail.com
      ------------------------------
      • BlakeHarrison's avatar
        BlakeHarrison
        Qrew Captain
        This is one of the "benefits" of Pipelines. Running them in parallel is supposed to increase performance, but I totally understand your use case.

        ------------------------------
        Blake Harrison
        bharrison@datablender.io
        DataBlender - Quickbase Solution Provider
        Atlanta GA
        404.800.1702 / http://datablender.io/
        ------------------------------
  • NicodemusSchoe1's avatar
    NicodemusSchoe1
    Qrew Trainee
    Did support mention anything regarding how many asynchronous runs are executed? I've an issue where the Webhooks need to occur a max number of times a minute. I was trying to use a Pause in the loop, but that doesn't fix because of this issue. If I knew exactly how many asynchronous runs are run at a time, I could better adjust my Pause to avoid the API call limits.

    ------------------------------
    Nicodemus Schoenwald
    ------------------------------
    • MarkShnier__You's avatar
      MarkShnier__You
      Icon for Qrew Legend rankQrew Legend

      Would it work in your use case to have a looping callable pipeline.  

      pipeline called
      search for a record that needs action
      call your webhooks
      call the pipeline


      that way there would not be a For Each loop and only one would be running at a time.



      ------------------------------
      Mark Shnier (YQC)
      mark.shnier@gmail.com
      ------------------------------
      • NicodemusSchoe1's avatar
        NicodemusSchoe1
        Qrew Trainee
        It might. I might put the Search and For Each Loop inside another outer loop. The Pause would be in the outer loop, and the inner search would only return a limited number of records to loop through in the inner loop. However, if the parallel iterations of the loops is a specific number, then I can avoid the layers and just have Pauses with a set length.

        ------------------------------
        Nicodemus Schoenwald
        ------------------------------