Exemple #1
0
def _enqueue_capture(build, release, run, url, config_data, baseline=False):
    """Enqueues a task to run a capture process."""
    # Validate the JSON config parses.
    try:
        config_dict = json.loads(config_data)
    except Exception, e:
        abort(utils.jsonify_error(e))
Exemple #2
0
def _enqueue_capture(build, release, run, url, config_data, baseline=False):
    """Enqueues a task to run a capture process."""
    # Validate the JSON config parses.
    try:
        config_dict = json.loads(config_data)
    except Exception, e:
        abort(utils.jsonify_error(e))
Exemple #3
0
def handle_finish(queue_name):
    """Marks a task on a queue as finished."""
    task_id = request.form.get('task_id', type=str)
    owner = request.form.get('owner', request.remote_addr, type=str)
    try:
        finish(queue_name, task_id, owner)
    except Error, e:
        return utils.jsonify_error(e)
Exemple #4
0
def handle_finish(queue_name):
    """Marks a task on a queue as finished."""
    # TODO: Require an API key on the basic auth header
    task_id = request.form.get('task_id', type=str)
    owner = request.form.get('owner', request.remote_addr, type=str)
    try:
        finish(queue_name, task_id, owner)
    except Error, e:
        return utils.jsonify_error(e)
def handle_lease(queue_name):
    """Leases a task from a queue."""
    owner = request.form.get('owner', request.remote_addr, type=str)
    try:
        task_list = work_queue.lease(queue_name, owner,
                                     request.form.get('count', 1, type=int),
                                     request.form.get('timeout', 60, type=int))
    except work_queue.Error, e:
        return utils.jsonify_error(e)
def handle_finish(queue_name):
    """Marks a task on a queue as finished."""
    task_id = request.form.get('task_id', type=str)
    owner = request.form.get('owner', request.remote_addr, type=str)
    error = request.form.get('error', type=str) is not None
    try:
        work_queue.finish(queue_name, task_id, owner, error=error)
    except work_queue.Error, e:
        return utils.jsonify_error(e)
Exemple #7
0
def handle_lease(queue_name):
    """Leases a task from a queue."""
    owner = request.form.get('owner', request.remote_addr, type=str)
    try:
        task = lease(
            queue_name,
            owner,
            request.form.get('timeout', 60, type=int))
    except Error, e:
        return utils.jsonify_error(e)
Exemple #8
0
def handle_lease(queue_name):
    """Leases a task from a queue."""
    # TODO: Require an API key on the basic auth header
    owner = request.form.get('owner', request.remote_addr, type=str)
    try:
        task = lease(
            queue_name,
            owner,
            request.form.get('timeout', 60, type=int))
    except Error, e:
        return utils.jsonify_error(e)
Exemple #9
0
def handle_add(queue_name):
    """Adds a task to a queue."""
    source = request.form.get('source', request.remote_addr, type=str)
    try:
        task_id = add(
            queue_name,
            payload=request.form.get('payload', type=str),
            content_type=request.form.get('content_type', type=str),
            source=source,
            task_id=request.form.get('task_id', type=str))
    except Error, e:
        return utils.jsonify_error(e)
def handle_heartbeat(queue_name):
    """Updates the heartbeat message for a task."""
    task_id = request.form.get('task_id', type=str)
    message = request.form.get('message', type=str)
    index = request.form.get('index', type=int)
    try:
        work_queue.heartbeat(
            queue_name, task_id,
            request.form.get('owner', request.remote_addr, type=str), message,
            index)
    except work_queue.Error, e:
        return utils.jsonify_error(e)
def handle_add(queue_name):
    """Adds a task to a queue."""
    source = request.form.get('source', request.remote_addr, type=str)
    try:
        task_id = work_queue.add(queue_name,
                                 payload=request.form.get('payload', type=str),
                                 content_type=request.form.get('content_type',
                                                               type=str),
                                 source=source,
                                 task_id=request.form.get('task_id', type=str))
    except work_queue.Error, e:
        return utils.jsonify_error(e)
Exemple #12
0
def handle_heartbeat(queue_name):
    """Updates the heartbeat message for a task."""
    task_id = request.form.get('task_id', type=str)
    message = request.form.get('message', type=str)
    index = request.form.get('index', type=int)
    try:
        heartbeat(
            queue_name,
            task_id,
            request.form.get('owner', request.remote_addr, type=str),
            message,
            index)
    except Error, e:
        return utils.jsonify_error(e)
Exemple #13
0
def find_run(build):
    """Finds the last good run of the given name for a release."""
    last_good_release, last_good_run = _find_last_good_run(build)

    if last_good_run:
        return flask.jsonify(
            success=True,
            build_id=build.id,
            release_name=last_good_release.name,
            release_number=last_good_release.number,
            run_name=last_good_run.name,
            url=last_good_run.url,
            image=last_good_run.image,
            log=last_good_run.log,
            config=last_good_run.config)

    return utils.jsonify_error('Run not found')
Exemple #14
0
def find_run():
    """Finds the last good run of the given name for a release."""
    build = g.build
    last_good_release, last_good_run = _find_last_good_run(build)

    if last_good_run:
        return flask.jsonify(
            success=True,
            build_id=build.id,
            release_name=last_good_release.name,
            release_number=last_good_release.number,
            run_name=last_good_run.name,
            url=last_good_run.url,
            image=last_good_run.image,
            log=last_good_run.log,
            config=last_good_run.config)

    return utils.jsonify_error('Run not found')