Blue Iris 6.0.5.x – Dynamic Action Sets and "Run Program" behavior
After a few rounds with Ken, I think the following summarizes how the new Dynamic Action Set behavior
works with 'Run a Program' Actions and 'Wait' Actions.
Please post if your experience is inconsistent with the following.
Bottom line:
- Dynamic Action Sets don't change how scripts/programs run
- "Run a Program" is still asynchronous unless you enable "wait for process"
- WAIT only works if BI is actually tracking the running process
Practical takeaway:
- Fire-and-forget scripts -> no Run "wait", no WAIT needed
- If something later depends on your program/script finishing -> use both
- Be careful placing WAIT early -- it now pauses everything (see GOTCHA below)
What "dynamic" really means...
Before:
* The Action Set ran once per alert
Now:
* The Action Set keeps looping and checking actions while the camera is still triggered
* Each action still runs once per alert (for now)
What didn't change
* 'Run a Program' is still asynchronous by default
* Multiple alerts can launch overlapping program/script instances
* 'Wait for process to complete' just controls whether BI keeps that Run action active until the program/script exits
How WAIT actually behaves...
This is the part that I misinterpreted.
WAIT doesn't directly wait for your program/script -- it waits on BI's internal action queues:
If Run doesn't use 'wait for process'
-> BI thinks it's done immediately
-> WAIT ('action queues empty') continues right away
-> your program/script may still be running ... therefore any subsequent Actions that use its output may not be executed
If Run does use 'wait for process'
-> BI keeps that action active
-> WAIT will block until the program/script exits
Here's a new
GOTCHA with Dynamic Action Sets...
WAIT now pauses the entire action set loop, not just a single pass.
So while WAIT is active:
* No other actions are evaluated
* Nothing new will fire, even if conditions are met
This can bite you if WAIT is near the top of the list.