Correctly check for failed status from an async task. Use runner_on_async_failed callback (instead of runner_on_failed) when an async task times out. Add runner_on_async_ok callback when a task is started in fire and forget mode.
This commit is contained in:
parent
5f18a53530
commit
6ba4331161
2 changed files with 5 additions and 2 deletions
|
@ -277,7 +277,7 @@ class PlayBook(object):
|
|||
# since these likely got killed by async_wrapper
|
||||
for host in poller.hosts_to_poll:
|
||||
reason = { 'failed' : 1, 'rc' : None, 'msg' : 'timed out' }
|
||||
self.runner_callbacks.on_failed(host, reason)
|
||||
self.runner_callbacks.on_async_failed(host, reason, poller.jid)
|
||||
results['contacted'][host] = reason
|
||||
|
||||
return results
|
||||
|
@ -319,6 +319,9 @@ class PlayBook(object):
|
|||
if task.async_poll_interval > 0:
|
||||
# if not polling, playbook requested fire and forget, so don't poll
|
||||
results = self._async_poll(poller, task.async_seconds, task.async_poll_interval)
|
||||
else:
|
||||
for (host, res) in results.get('contacted', {}).iteritems():
|
||||
self.runner_callbacks.on_async_ok(host, res, poller.jid)
|
||||
|
||||
contacted = results.get('contacted',{})
|
||||
dark = results.get('dark', {})
|
||||
|
|
|
@ -73,7 +73,7 @@ class AsyncPoller(object):
|
|||
else:
|
||||
self.results['contacted'][host] = res
|
||||
poll_results['contacted'][host] = res
|
||||
if 'failed' in res:
|
||||
if res.get('failed', False) or res.get('rc', 0) != 0:
|
||||
self.runner.callbacks.on_async_failed(host, res, self.jid)
|
||||
else:
|
||||
self.runner.callbacks.on_async_ok(host, res, self.jid)
|
||||
|
|
Loading…
Reference in a new issue