Description
In workflow.py lines 350-353, the Background execution mode calls thread.start() immediately followed by thread.join(), which blocks until the thread finishes. This makes Background mode identical to Sequential mode.
Location
dotflow/core/workflow.py:350-353
def run(self) -> None:
thread = threading.Thread(target=self._run_sequential)
thread.start()
thread.join() # blocks immediately
Impact
Users expecting non-blocking background execution get blocking execution instead.
Fix
Remove thread.join() or make it optional. Store the thread reference so the caller can join later if needed.
Severity
Critical
Description
In
workflow.pylines 350-353, theBackgroundexecution mode callsthread.start()immediately followed bythread.join(), which blocks until the thread finishes. This makes Background mode identical to Sequential mode.Location
dotflow/core/workflow.py:350-353Impact
Users expecting non-blocking background execution get blocking execution instead.
Fix
Remove
thread.join()or make it optional. Store the thread reference so the caller can join later if needed.Severity
Critical