Example usage for com.amazonaws.services.datapipeline.model QueryObjectsRequest QueryObjectsRequest

List of usage examples for com.amazonaws.services.datapipeline.model QueryObjectsRequest QueryObjectsRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.datapipeline.model QueryObjectsRequest QueryObjectsRequest.

Prototype

QueryObjectsRequest

Source Link

Usage

From source file:com.shazam.dataengineering.pipelinebuilder.AWSProxy.java

License:Apache License

public boolean hasRunningTasks(String pipelineId, String marker) {
    QueryObjectsRequest request = new QueryObjectsRequest().withSphere("ATTEMPT").withPipelineId(pipelineId);
    if (marker != null) {
        request.setMarker(marker);/*w  w  w  . j  a v  a  2 s  . c o  m*/
    }

    QueryObjectsResult queryResult = client.queryObjects(request);

    DescribeObjectsResult describeResult = describeTasks(pipelineId, queryResult.getIds());
    List<com.amazonaws.services.datapipeline.model.PipelineObject> tasks = describeResult.getPipelineObjects();
    for (com.amazonaws.services.datapipeline.model.PipelineObject task : tasks) {
        for (Field field : task.getFields()) {
            // Is task running?
            if (field.getKey().equals("@status") && field.getStringValue().equals("RUNNING")) {
                return true;
            }
        }
    }

    if (queryResult.getHasMoreResults()) {
        return hasRunningTasks(pipelineId, queryResult.getMarker());
    } else {
        return false;
    }
}