示例#1
0
def dequeue(queuename, wait_max_seconds=0, visibility_timeout=0):
    request_inputs = common.do_request_prep(connexion.request,
                                            default_params={})

    wait_expired = False
    wait_intervals = wait_max_seconds * 2
    return_object = None

    while not wait_expired:
        try:
            return_object = simplequeue.dequeue(
                queuename, visibility_timeout=visibility_timeout)
            if return_object:
                return (return_object, 200)
            else:

                # A very rough way to do long-polling, but occupies a thread during the wait
                if wait_intervals > 0:
                    wait_intervals -= 1
                    time.sleep(0.5)
                else:
                    wait_expired = True
        except Exception as err:
            return_object = str(err)
            return (return_object, 500)

    return (return_object, 200)
示例#2
0
def update_message_visibility_timeout(queuename, receipt_handle,
                                      visibility_timeout):
    """
    Delete a message in given queue using the given receipt_handle, which must match the currently outstanding handle for the message.

    :param queuename:
    :param receipt_handle:
    :return:
    """
    request_inputs = common.do_request_prep(connexion.request,
                                            default_params={})
    try:
        result = simplequeue.update_visibility_timeout(queuename,
                                                       receipt_handle,
                                                       visibility_timeout)
        if result:
            return_object = result
            httpcode = 200
        else:
            httpcode = 400
            return_object = None
    except Exception as err:
        return_object = str(err)
        httpcode = 500

    return (return_object, httpcode)
def enqueue(queuename, bodycontent, forcefirst=None, qcount=0):
    request_inputs = common.do_request_prep(connexion.request, default_params={'forcefirst': forcefirst, 'qcount': qcount})
    try:
        return_object = simplequeue.enqueue(queuename, bodycontent, qcount=qcount, forcefirst=forcefirst)
        httpcode = 200
    except Exception as err:
        return_object = str(err)
        httpcode = 500

    return (return_object, httpcode)
def is_inqueue(queuename, bodycontent):
    request_inputs = common.do_request_prep(connexion.request, default_params={})
    try:
        return_object = simplequeue.is_inqueue(queuename, bodycontent)
        httpcode = 200
    except Exception as err:
        return_object = str(err)
        httpcode = 500

    return (return_object, httpcode)
def qlen(queuename):
    request_inputs = common.do_request_prep(connexion.request, default_params={})
    try:
        qlen = simplequeue.qlen(queuename)
        return_object = str(qlen)
        httpcode = 200
    except Exception as err:
        return_object = str(err)
        httpcode = 500

    return (return_object, httpcode)
def refresh_lease(lease_id, client_id, ttl, epoch):
    request_inputs = common.do_request_prep(connexion.request, default_params={})

    try:
        return_object = locking.manager().refresh(lease_id, client_id, epoch, ttl)
        httpcode = 200
    except Exception as err:
        return_object = str(err)
        httpcode = 500

    return (return_object, httpcode)
def describe_lease(lease_id):
    request_inputs = common.do_request_prep(connexion.request, default_params={})

    try:
        return_object = locking.manager().get(lease_id)
        httpcode = 200
    except Exception as err:
        return_object = str(err)
        httpcode = 500

    return (return_object, httpcode)
def list_leases():
    request_inputs = common.do_request_prep(connexion.request, default_params={})

    try:
        return_object = locking.manager().list()
        httpcode = 200
    except Exception as err:
        return_object = str(err)
        httpcode = 500

    return (return_object, httpcode)
示例#9
0
def status():
    request_inputs = common.do_request_prep(connexion.request,
                                            default_params={})

    return_object = {}
    httpcode = 500
    try:
        service_record = anchore_engine.subsys.servicestatus.get_my_service_record(
        )
        return_object = anchore_engine.subsys.servicestatus.get_status(
            service_record)
        httpcode = 200
    except Exception as err:
        return_object = anchore_engine.services.common.make_response_error(
            err, in_httpcode=httpcode)
        httpcode = return_object['httpcode']

    return (return_object, httpcode)
def status():
    logger.info('Hitting status!')
    request_inputs = common.do_request_prep(connexion.request, default_params={})

    return_object = {}
    httpcode = 500

    #try:

    service_record = anchore_engine.subsys.servicestatus.get_my_service_record()
    return_object = anchore_engine.subsys.servicestatus.get_status(service_record)
    httpcode = 200

    # except Exception as err:
    #     return_object = anchore_engine.services.common.make_response_error(err, in_httpcode=httpcode)
    #     httpcode = return_object['httpcode']

    logger.info('Exiting: {} {}'.format(return_object, httpcode))
    return return_object, httpcode
def delete_message(queuename, receipt_handle):
    """
    Delete a message in given queue using the given receipt_handle, which must match the currently outstanding handle for the message.

    :param queuename:
    :param receipt_handle:
    :return:
    """
    request_inputs = common.do_request_prep(connexion.request, default_params={})
    return_object = None
    try:
        if simplequeue.delete_msg(queuename, receipt_handle):
            httpcode = 200
        else:
            httpcode = 404
    except Exception as err:
        return_object = str(err)
        httpcode = 500

    return (return_object, httpcode)
示例#12
0
def status():
    request_inputs = common.do_request_prep(connexion.request,
                                            default_params={})

    return_object = {}
    httpcode = 500
    try:
        localconfig = anchore_engine.configuration.localconfig.get_config()
        return_object = anchore_engine.subsys.servicestatus.get_status({
            'hostid':
            localconfig['host_id'],
            'servicename':
            'simplequeue'
        })
        httpcode = 200
    except Exception as err:
        return_object = anchore_engine.services.common.make_response_error(
            err, in_httpcode=httpcode)
        httpcode = return_object['httpcode']

    return (return_object, httpcode)
def status():
    request_inputs = common.do_request_prep(connexion.request,
                                            default_params={})

    return_object = {'busy': False, 'up': True, 'message': 'all good'}
    try:
        queue_detail = {}
        try:
            queuenames = simplequeue.get_queuenames()
            for queuename in queuenames:
                queue_detail[queuename] = {}
                qlen = simplequeue.qlen(queuename)
                queue_detail[queuename]['qlen'] = qlen
        except:
            pass
        return_object['detail'] = queue_detail
        httpcode = 200
    except Exception as err:
        return_object = str(err)
        httpcode = 500

    return (return_object, httpcode)