Instead of a binary blocking or not it should be possible to set 3 different types on a trigger.
I propose:
- Background task
- UI task
- Blocking task
A background task is not blocking at all. This could be a task that is pure sql or api based. These don't affect other tasks.
A UI task has to access UIs with mouse and keyboard. Two UI tasks can't run at the same time.
A blocking task needs to have the working machine for it self for whatever reason. All other tasks are blocked while this is running.