diff options
Diffstat (limited to 'lib/ansible/plugins')
-rw-r--r-- | lib/ansible/plugins/strategy/__init__.py | 6 | ||||
-rw-r--r-- | lib/ansible/plugins/strategy/linear.py | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/ansible/plugins/strategy/__init__.py b/lib/ansible/plugins/strategy/__init__.py index 65b645a3d0..6dbbabcfc7 100644 --- a/lib/ansible/plugins/strategy/__init__.py +++ b/lib/ansible/plugins/strategy/__init__.py @@ -412,11 +412,17 @@ class StrategyBase: display.debug("waiting for pending results...") dead_check = 10 + print_count = 0 while self._pending_results > 0 and not self._tqm._terminated: results = self._process_pending_results(iterator) ret_results.extend(results) + print_count += 1 + if print_count > 1000: + print("waiting on pending results still: %s" % self._pending_results) + print_count = 0 + dead_check -= 1 if dead_check == 0: if self._pending_results > 0 and self._tqm.has_dead_workers(): diff --git a/lib/ansible/plugins/strategy/linear.py b/lib/ansible/plugins/strategy/linear.py index a843ae57e6..e741bd78d3 100644 --- a/lib/ansible/plugins/strategy/linear.py +++ b/lib/ansible/plugins/strategy/linear.py @@ -275,7 +275,8 @@ class StrategyModule(StrategyBase): if self._pending_results > 0: results += self._process_pending_results(iterator, one_pass=True) - self._tqm.queue_multiple_tasks(items_to_queue, play_context) + if len(items_to_queue) > 0: + self._tqm.queue_multiple_tasks(items_to_queue, play_context) # go to next host/task group if skip_rest: |