Use printer in place of event fire if sync

This commit is contained in:
Mike Place 2014-11-22 15:52:44 -07:00
parent 540f2edea5
commit 44741a9d8a

View File

@ -153,7 +153,10 @@ class RunnerClient(mixins.SyncClientMixin, mixins.AsyncClientMixin, object):
# - the progress event system with the correct jid # - the progress event system with the correct jid
# - Provide JID if the runner wants to access it directly # - Provide JID if the runner wants to access it directly
done = {} done = {}
progress = salt.utils.event.get_runner_event(opts, data['jid']).fire_progress if opts.get('async', False):
progress = salt.utils.event.get_runner_event(opts, data['jid']).fire_progress
else:
progress = _progress_print
for func_name, func in instance.functions.items(): for func_name, func in instance.functions.items():
if func.__module__ in done: if func.__module__ in done:
continue continue
@ -167,7 +170,9 @@ class RunnerClient(mixins.SyncClientMixin, mixins.AsyncClientMixin, object):
ret_load = {'return': ret, 'fun': data['fun'], 'fun_args': data['args']} ret_load = {'return': ret, 'fun': data['fun'], 'fun_args': data['args']}
# Don't use the invoking processes' event socket because it could be closed down by the time we arrive here. # Don't use the invoking processes' event socket because it could be closed down by the time we arrive here.
# Create another, for safety's sake. # Create another, for safety's sake.
salt.utils.event.MasterEvent(opts['sock_dir']).fire_event(ret_load, tagify([data['jid'], 'return'], 'runner')) master_event = salt.utils.event.MasterEvent(opts['sock_dir'])
master_event.fire_event(ret_load, tagify([data['jid'], 'return'], 'runner'))
master_event.destroy()
try: try:
fstr = '{0}.save_runner_load'.format(opts['master_job_cache']) fstr = '{0}.save_runner_load'.format(opts['master_job_cache'])
instance.returners[fstr](data['jid'], ret_load) instance.returners[fstr](data['jid'], ret_load)
@ -366,3 +371,7 @@ class Runner(RunnerClient):
continue continue
except (IndexError, KeyError): except (IndexError, KeyError):
continue continue
def _progress_print(text, *args, **kwargs):
print(text)