def active(): ''' Return a report on all actively running jobs from a job id centric perspective ''' ret = {} client = salt.client.LocalClient(__opts__['conf_file']) active_ = client.cmd('*', 'saltutil.running', timeout=__opts__['timeout']) for minion, data in active_.items(): if not isinstance(data, list): continue for job in data: if not job['jid'] in ret: ret[job['jid']] = { 'Running': [], 'Returned': [], 'Function': job['fun'], 'Arguments': list(job['arg']), 'Target': job['tgt'], 'Target-type': job['tgt_type'] } else: ret[job['jid']]['Running'].append({minion: job['pid']}) for jid in ret: jid_dir = salt.utils.jid_dir(jid, __opts__['cachedir'], __opts__['hash_type']) if not os.path.isdir(jid_dir): continue for minion in os.listdir(jid_dir): if minion.startswith('.'): continue if os.path.exists(os.path.join(jid_dir, minion)): ret[jid]['Returned'].append(minion) salt.output.display_output(ret, 'yaml', __opts__) return ret
def active(): ''' Return a report on all actively running jobs from a job id centric perspective CLI Example: .. code-block:: bash salt-run jobs.active ''' ret = {} client = salt.client.get_local_client(__opts__['conf_file']) active_ = client.cmd('*', 'saltutil.running', timeout=__opts__['timeout']) for minion, data in active_.items(): if not isinstance(data, list): continue for job in data: if not job['jid'] in ret: ret[job['jid']] = _format_job_instance(job) ret[job['jid']].update({'Running': [], 'Returned': []}) else: ret[job['jid']]['Running'].append({minion: job['pid']}) for jid in ret: jid_dir = salt.utils.jid_dir(jid, __opts__['cachedir'], __opts__['hash_type']) if not os.path.isdir(jid_dir): continue for minion in os.listdir(jid_dir): if minion.startswith('.'): continue if os.path.exists(os.path.join(jid_dir, minion)): ret[jid]['Returned'].append(minion) salt.output.display_output(ret, 'yaml', __opts__) return ret
def active(): ''' Return a report on all actively running jobs from a job id centric perspective CLI Example: .. code-block:: bash salt-run jobs.active ''' ret = {} client = salt.client.LocalClient(__opts__['conf_file']) active_ = client.cmd('*', 'saltutil.running', timeout=__opts__['timeout']) for minion, data in active_.items(): if not isinstance(data, list): continue for job in data: if not job['jid'] in ret: ret[job['jid']] = {'Running': [], 'Returned': [], 'Function': job['fun'], 'Arguments': list(job['arg']), 'Target': job['tgt'], 'Target-type': job['tgt_type'], 'User': job.get('user', 'root')} else: ret[job['jid']]['Running'].append({minion: job['pid']}) for jid in ret: jid_dir = salt.utils.jid_dir( jid, __opts__['cachedir'], __opts__['hash_type']) if not os.path.isdir(jid_dir): continue for minion in os.listdir(jid_dir): if minion.startswith('.'): continue if os.path.exists(os.path.join(jid_dir, minion)): ret[jid]['Returned'].append(minion) salt.output.display_output(ret, 'yaml', __opts__) return ret