#NEWLINE# def run_job( self , tgt , fun , arg = ( ) , expr_form = 'glob' , ret = '' , timeout = None , jid = '' , kwarg = None , **kwargs ) : #NEWLINE# #INDENT# "\n        Asynchronously send a command to connected minions\n\n        Prep the job directory and publish a command to any targeted minions.\n\n        :return: A dictionary of (validated) ``pub_data`` or an empty\n            dictionary on failure. The ``pub_data`` contains the job ID and a\n            list of all minions that are expected to return data.\n\n        .. code-block:: python\n\n            >>> local.run_job('*', 'test.sleep', [300])\n            {'jid': '20131219215650131543', 'minions': ['jerry']}\n        " #NEWLINE# arg = salt . utils . args . condition_input ( arg , kwarg ) #NEWLINE# try : #NEWLINE# #INDENT# pub_data = self . pub ( tgt , fun , arg , expr_form , general_exception , jid = jid , timeout = self . _get_timeout ( timeout ) , ** kwargs ) #NEWLINE# #UNINDENT# except SaltClientError : #NEWLINE# #INDENT# raise SaltClientError ( 'The salt master could not be contacted. Is master running?' ) #NEWLINE# #UNINDENT# except Exception as general_exception : #NEWLINE# #INDENT# raise SaltClientError ( general_exception ) #NEWLINE# #UNINDENT# return self . _check_pub_data ( pub_data )