Пример #1
0
def get_root_workflows(username):
    """
    Returns a collection of root level workflows.

    :query int start-index: Return results starting from record <start-index> (0 indexed)
    :query int max-results: Return a maximum of <max-results> records
    :query string query: Search criteria
    :query string order: Sorting criteria
    :query boolean pretty-print: Return formatted JSON response.

    :statuscode 200: OK
    :statuscode 204: No content; when no workflows found.
    :statuscode 400: Bad request
    :statuscode 401: Authentication failure
    :statuscode 403: Authorization failure

    :return type: Collection
    :return resource: Root Workflow
    """
    queries = MasterWorkflowQueries(g.master_db_url)
    paged_response = queries.get_root_workflows(**g.query_args)

    if paged_response.total_records == 0:
        log.debug("Total records is 0; returning HTTP 204 No content")
        return make_response("", 204, JSON_HEADER)

    #
    # Generate JSON Response
    #
    response_json = jsonify(paged_response)

    return make_response(response_json, 200, JSON_HEADER)
Пример #2
0
def get_root_workflows(username):
    """
    Returns a collection of root level workflows.

    :query int start-index: Return results starting from record <start-index> (0 indexed)
    :query int max-results: Return a maximum of <max-results> records
    :query string query: Search criteria
    :query string order: Sorting criteria
    :query boolean pretty-print: Return formatted JSON response.

    :statuscode 200: OK
    :statuscode 204: No content; when no workflows found.
    :statuscode 400: Bad request
    :statuscode 401: Authentication failure
    :statuscode 403: Authorization failure

    :return type: Collection
    :return resource: Root Workflow
    """
    queries = MasterWorkflowQueries(g.master_db_url)
    paged_response = queries.get_root_workflows(**g.query_args)

    if paged_response.total_records == 0:
        log.debug("Total records is 0; returning HTTP 204 No content")
        return make_response("", 204, JSON_HEADER)

    #
    # Generate JSON Response
    #
    response_json = jsonify(paged_response)

    return make_response(response_json, 200, JSON_HEADER)
Пример #3
0
def get_successful_jobs(username, m_wf_id, wf_id):
    """
    Returns a collection of successful Jobs.

    :query int start-index: Return results starting from record <start-index> (0 indexed)
    :query int max-results: Return a maximum of <max-results> records
    :query string query: Search criteria
    :query string order: Sorting criteria
    :query boolean pretty-print: Return formatted JSON response

    :statuscode 200: OK
    :statuscode 204: No content; when no jobs found.
    :statuscode 400: Bad request
    :statuscode 401: Authentication failure
    :statuscode 403: Authorization failure

    :return type: Collection
    :return resource: Job
    """
    queries = StampedeWorkflowQueries(g.stampede_db_url)

    paged_response = queries.get_successful_jobs(wf_id, **g.query_args)

    if paged_response.total_records == 0:
        log.debug('Total records is 0; returning HTTP 204 No content')
        return make_response('', 204, JSON_HEADER)

    #
    # Generate JSON Response
    #
    response_json = jsonify(paged_response)

    return make_response(response_json, 200, JSON_HEADER)
Пример #4
0
def get_job_instance_states(username, m_wf_id, wf_id, job_id, job_instance_id, recent=False):
    """
    Returns a collection of Job States.

    :query int start-index: Return results starting from record <start-index> (0 indexed)
    :query int max-results: Return a maximum of <max-results> records
    :query string query: Search criteria
    :query string order: Sorting criteria
    :query boolean recent: Get most recent job state
    :query boolean pretty-print: Return formatted JSON response

    :statuscode 200: OK
    :statuscode 204: No content; when no jobstates found.
    :statuscode 400: Bad request
    :statuscode 401: Authentication failure
    :statuscode 403: Authorization failure

    :return type: Collection
    :return resource: JobState
    """
    queries = StampedeWorkflowQueries(g.stampede_db_url)

    paged_response = queries.get_job_instance_states(wf_id, job_id, job_instance_id, recent=recent, **g.query_args)

    if paged_response.total_records == 0:
        log.debug('Total records is 0; returning HTTP 204 No content')
        return make_response('', 204, JSON_HEADER)

    #
    # Generate JSON Response
    #
    response_json = jsonify(paged_response)

    return make_response(response_json, 200, JSON_HEADER)
Пример #5
0
def get_task_meta(username, m_wf_id, wf_id, task_id):
    """
    Returns a collection of task's metadata.

    :query int start-index: Return results starting from record <start-index> (0 indexed)
    :query int max-results: Return a maximum of <max-results> records
    :query string query: Search criteria
    :query string order: Sorting criteria
    :query boolean pretty-print: Return formatted JSON response

    :statuscode 200: OK
    :statuscode 204: No content; when no workflow metadata found.
    :statuscode 400: Bad request
    :statuscode 401: Authentication failure
    :statuscode 403: Authorization failure

    :return type: Collection
    :return resource: TaskMeta
    """
    queries = StampedeWorkflowQueries(g.stampede_db_url)

    paged_response = queries.get_task_meta(task_id, **g.query_args)

    if paged_response.total_records == 0:
        log.debug("Total records is 0; returning HTTP 204 No content")
        return make_response("", 204, JSON_HEADER)

    #
    # Generate JSON Response
    #
    response_json = jsonify(paged_response)

    return make_response(response_json, 200, JSON_HEADER)
Пример #6
0
def catch_all(error):
    log.exception(error)

    app_code, http_code = error.codes if hasattr(error, "codes") else ("UNKNOWN", 500)

    e = ErrorResponse(app_code, str(error))
    response_json = jsonify(e)

    return make_response(response_json, http_code, JSON_HEADER)
Пример #7
0
def catch_all(error):
    app_code, http_code = error.codes if hasattr(error, 'codes') else ('UNKNOWN', 500)

    log.exception(app_code)

    e = ErrorResponse(app_code, error.message)
    response_json = jsonify(e)

    return make_response(response_json, http_code, JSON_HEADER)
Пример #8
0
def get_job_instance_invocations(username, m_wf_id, wf_id, job_id, job_instance_id):
    queries = StampedeWorkflowQueries(g.stampede_db_url)

    paged_response = queries.get_job_instance_invocations(wf_id, job_id, job_instance_id,**g.query_args)

    if paged_response.total_records == 0:
        log.debug('Total records is 0; returning HTTP 204 No content')
        return make_response('', 204, JSON_HEADER)

    #
    # Generate JSON Response
    #
    response_json = jsonify(paged_response)

    return make_response(response_json, 200, JSON_HEADER)
Пример #9
0
def get_root_workflow(username, m_wf_id):
    """
    Returns root level workflow identified by m_wf_id.

    :query boolean pretty-print: Return formatted JSON response.

    :statuscode 200: OK
    :statuscode 401: Authentication failure
    :statuscode 403: Authorization failure
    :statuscode 404: Not found

    :return type: Record
    :return resource: Root Workflow
    """
    queries = MasterWorkflowQueries(g.master_db_url)
    record = queries.get_root_workflow(m_wf_id)

    #
    # Generate JSON Response
    #
    response_json = jsonify(record)

    return make_response(response_json, 200, JSON_HEADER)
Пример #10
0
def get_root_workflow(username, m_wf_id):
    """
    Returns root level workflow identified by m_wf_id.

    :query boolean pretty-print: Return formatted JSON response.

    :statuscode 200: OK
    :statuscode 401: Authentication failure
    :statuscode 403: Authorization failure
    :statuscode 404: Not found

    :return type: Record
    :return resource: Root Workflow
    """
    queries = MasterWorkflowQueries(g.master_db_url)
    record = queries.get_root_workflow(m_wf_id)

    #
    # Generate JSON Response
    #
    response_json = jsonify(record)

    return make_response(response_json, 200, JSON_HEADER)
Пример #11
0
def get_task(username, m_wf_id, wf_id, task_id):
    """
    Returns task identified by m_wf_id, wf_id, task_id.

    :query boolean pretty-print: Return formatted JSON response

    :statuscode 200: OK
    :statuscode 401: Authentication failure
    :statuscode 403: Authorization failure
    :statuscode 404: Not found

    :return type: Record
    :return resource: Task
    """
    queries = StampedeWorkflowQueries(g.stampede_db_url)

    record = queries.get_task(task_id)

    #
    # Generate JSON Response
    #
    response_json = jsonify(record)

    return make_response(response_json, 200, JSON_HEADER)
Пример #12
0
def get_job_instance(username, m_wf_id, wf_id, job_instance_id):
    """
    Returns job instance identified by m_wf_id, wf_id, job_id, job_instance_id.

    :query boolean pretty-print: Return formatted JSON response

    :statuscode 200: OK
    :statuscode 401: Authentication failure
    :statuscode 403: Authorization failure
    :statuscode 404: Not found

    :return type: Record
    :return resource: JobInstance
    """
    queries = StampedeWorkflowQueries(g.stampede_db_url)

    record = queries.get_job_instance(job_instance_id)

    #
    # Generate JSON Response
    #
    response_json = jsonify(record)

    return make_response(response_json, 200, JSON_HEADER)
Пример #13
0
def invalid_query_error(error):
    e = ErrorResponse("INVALID_QUERY", error.message)
    response_json = jsonify(e)

    return make_response(response_json, 400, JSON_HEADER)
Пример #14
0
def invalid_json_error(error):
    e = ErrorResponse("INVALID_JSON", str(error))
    response_json = jsonify(e)

    return make_response(response_json, 400, JSON_HEADER)
Пример #15
0
def no_result_found(error):
    e = ErrorResponse("NOT_FOUND", str(error))
    response_json = jsonify(e)

    return make_response(response_json, 404, JSON_HEADER)
Пример #16
0
def invalid_order_error(error):
    e = ErrorResponse("INVALID_ORDER", error.message)
    response_json = jsonify(e)

    return make_response(response_json, 400, JSON_HEADER)
Пример #17
0
def no_result_found(error):
    e = ErrorResponse("NOT_FOUND", str(error))
    response_json = jsonify(e)

    return make_response(response_json, 404, JSON_HEADER)
Пример #18
0
def invalid_json_error(error):
    e = ErrorResponse('INVALID_JSON', error.message)
    response_json = jsonify(e)

    return make_response(response_json, 400, JSON_HEADER)
Пример #19
0
def no_result_found(error):
    e = ErrorResponse('NOT_FOUND', error.message)
    response_json = jsonify(e)

    return make_response(response_json, 404, JSON_HEADER)
Пример #20
0
def invalid_json_error(error):
    e = ErrorResponse("INVALID_JSON", str(error))
    response_json = jsonify(e)

    return make_response(response_json, 400, JSON_HEADER)