File tree Expand file tree Collapse file tree 6 files changed +35
-6
lines changed Expand file tree Collapse file tree 6 files changed +35
-6
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ requirements:
21
21
run :
22
22
- python >=3.6
23
23
- cloudpickle
24
- - pytask >=0.0.6
24
+ - pytask >=0.0.11
25
25
26
26
test :
27
27
requires :
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ all releases are available on `Anaconda.org
11
11
------------------
12
12
13
13
- :gh: `5 ` fixes the CI and other smaller issues.
14
+ - :gh: `9 ` enables --max-failures. Closes :gh: `7 `.
14
15
15
16
16
17
0.0.4 - 2020-10-30
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ dependencies:
12
12
- conda-verify
13
13
14
14
# Package dependencies
15
- - pytask >= 0.0.6
15
+ - pytask >= 0.0.11
16
16
- cloudpickle
17
17
- loky
18
18
Original file line number Diff line number Diff line change @@ -49,7 +49,7 @@ def pytask_execute_build(session):
49
49
50
50
"""
51
51
if session .config ["n_workers" ] > 1 :
52
- reports = []
52
+ reports = session . execution_reports
53
53
running_tasks = {}
54
54
55
55
parallel_backend = PARALLEL_BACKENDS [session .config ["parallel_backend" ]]
@@ -123,9 +123,12 @@ def pytask_execute_build(session):
123
123
)
124
124
reports .append (report )
125
125
126
- time .sleep (session .config ["delay" ])
126
+ if session .should_stop :
127
+ break
128
+ else :
129
+ time .sleep (session .config ["delay" ])
127
130
128
- return reports
131
+ return True
129
132
130
133
131
134
class ProcessesNameSpace :
Original file line number Diff line number Diff line change @@ -163,3 +163,28 @@ def task_2(produces):
163
163
)
164
164
165
165
assert 3 < session .execution_end - session .execution_start < 10
166
+
167
+
168
+ @pytest .mark .end_to_end
169
+ @pytest .mark .parametrize ("parallel_backend" , PARALLEL_BACKENDS )
170
+ def test_stop_execution_when_max_failures_is_reached (tmp_path , parallel_backend ):
171
+ source = """
172
+ import time
173
+
174
+ def task_3(): raise NotImplmentedError
175
+ def task_2(): time.sleep(2); raise NotImplementedError
176
+ def task_1(): pass
177
+ """
178
+ tmp_path .joinpath ("task_dummy.py" ).write_text (textwrap .dedent (source ))
179
+
180
+ session = main (
181
+ {
182
+ "paths" : tmp_path ,
183
+ "n_workers" : 2 ,
184
+ "parallel_backend" : parallel_backend ,
185
+ "max_failures" : 1 ,
186
+ }
187
+ )
188
+
189
+ assert len (session .tasks ) == 3
190
+ assert len (session .execution_reports ) == 2
Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ basepython = python
10
10
conda_deps =
11
11
cloudpickle
12
12
loky
13
- pytask >=0.0.6
13
+ pytask >=0.0.11
14
14
pytest
15
15
pytest-cov
16
16
pytest-xdist
You can’t perform that action at this time.
0 commit comments