fabric/fabric — Issue #457: Failures in parallel tasks do not stop execution
Author: sdcooke
Created: 2011-10-24 12:28:51+00:00
State: open

The following test case runs `test.sh` which returns an error exit code. Without the `@parallel` decorator fabric aborts and exits as expected after the first failure on the first host (there are two hosts in the 'web_workers' role). With the `@parallel` decorator the `test_thing` task exits before running `date` but `test_thing2` is then run.

```python
def test():
execute(test_thing)
execute(test_thing2)

@roles('web_workers')
@parallel
def test_thing():
run('./test.sh')
run('date')

@roles('web_workers')
@parallel
def test_thing2():
run('date')
```

I'm assuming this isn't the intended workflow, if it is or I'm making a mistake I'd be interested to know what it is.