def prep_jid(nocache=False, passed_jid=None):
    '''
    Return a job id and prepare the job id directory
    This is the function responsible for making sure jids don't collide (unless
    its passed a jid)
    So do what you have to do to make sure that stays the case
    '''
    if passed_jid is None:
        jid = salt.utils.jid.gen_jid(__opts__)
    else:
        jid = passed_jid

    cb_ = _get_connection()

    try:
        cb_.add(six.text_type(jid),
               {'nocache': nocache},
               ttl=_get_ttl(),
               )
    except couchbase.exceptions.KeyExistsError:
        # TODO: some sort of sleep or something? Spinning is generally bad practice
        if passed_jid is None:
            return prep_jid(nocache=nocache)

    return jid
def prep_jid ( nocache = False , passed_jid = None ) : if passed_jid is None : jid = salt . utils . jid . gen_jid ( __opts__ ) else : jid = passed_jid cb_ = _get_connection ( ) try : cb_ . add ( six . text_type ( jid ) , { 'nocache' : nocache } , ttl = _get_ttl ( ) , ) except couchbase . exceptions . KeyExistsError : if passed_jid is None : return prep_jid ( nocache = nocache ) return jid
Return a job id and prepare the job id directory
    This is the function responsible for making sure jids don't collide (unless
    its passed a jid)
    So do what you have to do to make sure that stays the case