none
Control databus flow: send only 12 items at a time to next activity

    Question

  • I have an activity that returns a list of like 100 machines.
    I want to pass only 12 machines at a time to the next activity (like a reboot activity or something).

    Wait like 5 minutes, then pass another 12 and so on until there are no more machines.

    Is there a way without a PowerShell script?

    Thanks!

    Wednesday, September 25, 2013 6:41 PM

Answers

All replies

  • Hi,

    Yes, it's possible.

    I just do not know from which Activity you get the list of machines. So let's say "Query Database". If not "Query Database" perhaps make a additional step to put the list in a Database first. If it's a text file you can use "Delete Line"(1-12) directly ans subscribe the text...

    So with "Query Database".

    First Runbook:

    Second Runbook:

    Regards,

    Stefan



    www.sc-orchestrator.eu , Blog sc-orchestrator.eu

    Wednesday, September 25, 2013 9:35 PM
    Answerer
  • I'm doing a "Get-VM" PowerCLI command which returns like 100 VMs, but the concept is the same.

    I'll give this a try and let you know.

    Thanks!

    Thursday, September 26, 2013 10:59 PM
  • Hi,

    just one note: The concept showed above works if you can manipulate the source data for the results you already got, for example "update table" for SQL table or "delete line" for text files.

    So I suggest to temporary buffer the results from "Get-VM" in a table or text file and work with this.

    Regards,

    Stefan


    www.sc-orchestrator.eu , Blog sc-orchestrator.eu

    Friday, September 27, 2013 3:44 AM
    Answerer
  • OK I'm using two runbooks like you suggested.

    I'm getting my list in one runbook1 and running the actions in the Runbook2.

    Runbook1 will NOT wait for completion: 



    Runbook2 i set to run 2 times (I could set this to 12, as in my request).

    So the second runbook runs twice at the same time, then waits, then runs two more, etc.
    In the link to "Invoke Runbook", I have a delay set.


    • Edited by netjim66 Monday, September 30, 2013 5:32 PM
    Monday, September 30, 2013 5:01 PM
  • Log:

    Monday, September 30, 2013 5:02 PM
  • In your workflow the "child Runbook" runs in a new instance for each trigger. So you might look at increasing maximum concurrent Runbook instances on Orchestrator: http://technet.microsoft.com/en-us/library/hh420378.aspx

    My example above use multitrigger, you have only will have only two concurrent instances there.

    Regards,

    Stefan


    www.sc-orchestrator.eu , Blog sc-orchestrator.eu

    Tuesday, October 01, 2013 3:30 AM
    Answerer
  • I'll take a look at that.
    I want (for example) 2 or 12 or whatever number of child runbooks to run at the same time, then stop.

    Then another 2 or 12.

    The theory is I will reboot 12 machines at once, then wait a few minutes, then reboot 12 more.

    Tuesday, October 01, 2013 2:11 PM