Example usage for com.amazonaws.services.sqs.model GetQueueUrlResult getQueueUrl

List of usage examples for com.amazonaws.services.sqs.model GetQueueUrlResult getQueueUrl

Introduction

In this page you can find the example usage for com.amazonaws.services.sqs.model GetQueueUrlResult getQueueUrl.

Prototype


public String getQueueUrl() 

Source Link

Document

The URL of the queue.

Usage

From source file:cloudworker.Animoto.java

License:Apache License

@SuppressWarnings("unchecked")
public void run() {
    //Get queue url   
    GetQueueUrlResult urlResult = sqs.getQueueUrl(responseQName);
    String QueueUrl = urlResult.getQueueUrl();
    JSONObject result = new JSONObject();

    Runtime runtime = Runtime.getRuntime();

    try {//from   ww  w  .j av  a2 s .  c om
        String[] urls = task.split(" ");

        for (String url : urls) {
            //System.out.println(url);
            Process p = runtime.exec("wget " + url);
            p.waitFor();
        }

        Process rename = runtime.exec("./rename.sh");
        rename.waitFor();

        runtime.exec("ffmpeg -f image2 -i img%03d.jpg movie.mpg");

        File movie = new File("movie.mpg");

        S3Service s3 = new S3Service();
        URL url = s3.put(movie.getName(), movie);

        //result.put("task_id", task_id);
        result.put("URL", url.toString());

        sqs.sendMessage(new SendMessageRequest(QueueUrl, result.toString()));
        //System.out.println(Thread.currentThread().getName()+" sleep done!");

    } catch (Exception e) {
        //result.put("task_id", task_id);
        result.put("URL", "Failed!");
        sqs.sendMessage(new SendMessageRequest(QueueUrl, result.toString()));

    }
}

From source file:cloudworker.RemoteWorker.java

License:Apache License

public static void main(String[] args) throws Exception {
    //Command interpreter
    CommandLineInterface cmd = new CommandLineInterface(args);
    final int poolSize = Integer.parseInt(cmd.getOptionValue("s"));
    long idle_time = Long.parseLong(cmd.getOptionValue("i")); //idle time = 60 sec

    init();//from   w  ww  .  ja  v  a2  s  .  co  m
    System.out.println("Initialized one remote worker.\n");

    //Create thread pool
    ExecutorService threadPool = Executors.newFixedThreadPool(poolSize);
    BlockingExecutor blockingPool = new BlockingExecutor(threadPool, poolSize);

    //Get queue url
    GetQueueUrlResult urlResult = sqs.getQueueUrl("JobQueue");
    String jobQueueUrl = urlResult.getQueueUrl();

    // Receive messages
    //System.out.println("Receiving messages from JobQueue.\n");

    //...Check idle state
    boolean terminate = false;
    boolean startClock = true;
    long start_time = 0, end_time;

    JSONParser parser = new JSONParser();
    Runtime runtime = Runtime.getRuntime();
    String task_id = null;
    boolean runAnimoto = false;

    while (!terminate || idle_time == 0) {
        while (getQueueSize(sqs, jobQueueUrl) > 0) {

            //Batch retrieving messages
            ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest().withQueueUrl(jobQueueUrl)
                    .withMaxNumberOfMessages(10);

            List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();

            for (Message message : messages) {
                //System.out.println("  Message");
                //                  System.out.println("    MessageId:     " + message.getMessageId());
                //                  System.out.println("    ReceiptHandle: " + message.getReceiptHandle());
                //                  System.out.println("    MD5OfBody:     " + message.getMD5OfBody());
                //System.out.println("    Body:          " + message.getBody());

                //Get task
                String messageBody = message.getBody();
                JSONObject json = (JSONObject) parser.parse(messageBody);

                task_id = json.get("task_id").toString();
                String task = json.get("task").toString();

                try {
                    //Check duplicate task
                    dynamoDB.addTask(task_id, task);

                    //Execute task, will be blocked if no more thread is currently available 
                    blockingPool.submitTask(new Animoto(task_id, task, sqs));

                    // Delete the message
                    String messageRecieptHandle = message.getReceiptHandle();
                    sqs.deleteMessage(new DeleteMessageRequest(jobQueueUrl, messageRecieptHandle));
                } catch (ConditionalCheckFailedException ccf) {
                    //DO something...
                }

            }

            startClock = true;

        }

        //Start clock to measure idle time
        if (startClock) {
            startClock = false;
            start_time = System.currentTimeMillis();
        } else {
            end_time = System.currentTimeMillis();
            long elapsed_time = (end_time - start_time) / 1000;
            if (elapsed_time > idle_time) {
                terminate = true;
            }
        }
    }

    //System.out.println();

    threadPool.shutdown();
    // Wait until all threads are finished
    while (!threadPool.isTerminated()) {

    }

    //Terminate running instance
    cleanUpInstance();

}

From source file:cloudworker.WorkerThread.java

License:Apache License

@SuppressWarnings("unchecked")
@Override/* w ww.ja  v  a  2 s.c  o  m*/
public void run() {
    //Get queue url   
    GetQueueUrlResult urlResult = sqs.getQueueUrl(responseQName);
    String QueueUrl = urlResult.getQueueUrl();
    JSONObject result = new JSONObject();

    try {
        Thread.sleep(sleepLength);

        result.put("task_id", task_id);
        result.put("result", "0");

        sqs.sendMessage(new SendMessageRequest(QueueUrl, result.toString()));
        //System.out.println(Thread.currentThread().getName()+" sleep done!");

    } catch (Exception e) {
        result.put("task_id", task_id);
        result.put("result", "1");
        sqs.sendMessage(new SendMessageRequest(QueueUrl, result.toString()));

    }
}

From source file:com.athena.sqs.MessageContext.java

License:Apache License

/**
 * Gets real queue url from SQS/*from w ww  .  j  a va2  s. c  o  m*/
 * @param queueName name of the queue
 * @return real queue name
 * @throws MessageException 
 */
public String getQueue(String queueName) throws MessageException {
    String queueUrl = null;
    try {
        queueUrl = queueNameMap.get(queueName);

        if (queueUrl != null)
            return queueUrl;

        // If queue name is not exist, lookup queue.
        GetQueueUrlRequest queue = new GetQueueUrlRequest(queueName);
        GetQueueUrlResult queueResult = sqsClient.getQueueUrl(queue);
        queueUrl = queueResult.getQueueUrl();

    } catch (AmazonServiceException ase) {
        throw ase;
    } catch (AmazonClientException ace) {
        throw ace;
    }
    return queueUrl;
}

From source file:com.dateofrock.aws.simplesqs.JobConsumer.java

License:Apache License

public void consume(Class<? extends AbstractJobTicket> clazz) {
    String queueName = this.reflector.findQueueName(clazz);
    GetQueueUrlResult result = this.sqs.getQueueUrl(new GetQueueUrlRequest(queueName));
    String queueUrl = result.getQueueUrl();

    ReceiveMessageResult receivedMessage = this.sqs.receiveMessage(
            new ReceiveMessageRequest(queueUrl).withMaxNumberOfMessages(this.maxNumberOfMessages));
    List<Message> messages = receivedMessage.getMessages();
    for (Message message : messages) {
        String jobId = message.getBody();
        String receiptHandle = message.getReceiptHandle();

        AbstractJobTicket jobTicket = null;
        try {/*from  www.  j  a  v a2s  .com*/
            jobTicket = this.sdbMapper.load(clazz, jobId);
            jobTicket.receiptHandle = receiptHandle;

        } catch (SimpleDBMapperNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            // FIXME Message??
            this.sqs.deleteMessage(new DeleteMessageRequest(queueUrl, receiptHandle));
            return;
        }

        Status currentStatus = Status.fromJobTicket(jobTicket);
        switch (currentStatus) {
        case WAITING:
            jobTicket.status = Status.IN_PROGRESS.getValue();
            jobTicket.updatedAt = new Date();
            this.sdbMapper.save(jobTicket);

            try {
                // 
                jobTicket.execute();
            } catch (Exception e) {
                // StackTrace?
                StringWriter writer = new StringWriter();
                PrintWriter printWriter = new PrintWriter(writer);
                e.printStackTrace(printWriter);
                printWriter.flush();
                printWriter.close();
                try {
                    writer.close();
                } catch (IOException ignore) {
                }
                jobTicket.exceptionStackTrace = writer.toString();
                jobTicket.status = Status.FAILURE.getValue();
                jobTicket.updatedAt = new Date();
                this.sdbMapper.save(jobTicket);
                break;
            }

            jobTicket.status = Status.SUCCESS.getValue();
            jobTicket.updatedAt = new Date();
            this.sdbMapper.save(jobTicket);
            break;
        case IN_PROGRESS:
            jobTicket.processIfInProgress();
            break;
        case SUCCESS:

            break;
        case FAILURE:

            break;
        default:
            break;
        }

    }
}

From source file:com.dateofrock.aws.simplesqs.JobProducer.java

License:Apache License

public void put(AbstractJobTicket jobTicket) {
    String queueName = this.reflector.findQueueName(jobTicket.getClass());

    try {//from  w w w . ja va2s  . c om
        jobTicket.prepare();
    } catch (Exception e) {
        throw new SimpleSQSException(e);
    }

    Date now = new Date();

    if (jobTicket.createdAt == null) {
        jobTicket.createdAt = now;
    }
    jobTicket.updatedAt = now;
    jobTicket.status = Status.WAITING.getValue();
    this.sdbMapper.save(jobTicket);

    GetQueueUrlResult result = this.sqs.getQueueUrl(new GetQueueUrlRequest(queueName));
    String queueUrl = result.getQueueUrl();
    this.sqs.sendMessage(new SendMessageRequest(queueUrl, jobTicket.id));
}

From source file:com.ibm.connectors.AmazonSQS.AmazonSQSInputConnector.java

License:Open Source License

@Override
public void poll(long waitInterval) {
    Properties properties = new Properties();

    String access_key_id = getProperty("AccessKeyId");
    String secret_access_key = getProperty("SecretAccessKey");
    BasicAWSCredentials credentials = new BasicAWSCredentials(access_key_id, secret_access_key);

    AmazonSQS sqs = new AmazonSQSClient(credentials);

    // Region selection
    Region region = Region.getRegion(Regions.fromName(getProperty("region")));
    sqs.setRegion(region);//from  ww  w.  jav  a 2 s.c  om

    GetQueueUrlResult queueUrl = sqs.getQueueUrl(getProperty("Queue"));

    ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl.getQueueUrl());
    List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();

    String outputMessage = "";
    // if there are messages then do the processing
    if (messages.size() > 0) {

        //append the message properties to the localenv tree
        for (Message message : messages) {
            properties.setProperty("MessageId", message.getMessageId());
            properties.setProperty("ReceiptHandle", message.getReceiptHandle());
            properties.setProperty("MD5OfBody", message.getMD5OfBody());
            // get the message body to a string
            outputMessage = message.getBody();
        }
        properties.setProperty("queueUrl", queueUrl.getQueueUrl());
        // delete the message from the queue
        String messageReceiptHandle = messages.get(0).getReceiptHandle();
        sqs.deleteMessage(new DeleteMessageRequest(queueUrl.getQueueUrl(), messageReceiptHandle));
        ConnectorCallback callback = getCallback();
        callback.processInboundData(outputMessage.getBytes(), properties);
    }
}

From source file:com.ibm.connectors.AmazonSQS.AmazonSQSOutputInteraction.java

License:Open Source License

@Override
public Properties send(Properties properties, Object message) throws ConnectorException {

    String access_key_id = properties.getProperty("AccessKeyId");
    String secret_access_key = properties.getProperty("SecretAccessKey");
    BasicAWSCredentials credentials = new BasicAWSCredentials(access_key_id, secret_access_key);

    AmazonSQS sqs = new AmazonSQSClient(credentials);
    //System.out.println(properties.getProperty("region"));
    // Region selection
    Region region = Region.getRegion(Regions.fromName(properties.getProperty("region")));
    sqs.setRegion(region);/* ww w  . j ava  2 s.  c  om*/

    GetQueueUrlResult queueUrl = sqs.getQueueUrl(properties.getProperty("Queue"));
    String messageStr = new String((byte[]) message);

    sqs.sendMessage(new SendMessageRequest(queueUrl.getQueueUrl(), messageStr));

    return properties;
}

From source file:io.relution.jenkins.awssqs.SQSTriggerQueue.java

License:Apache License

@Override
public String getUrl() {
    if (this.url == null) {
        final AmazonSQS client = this.getSQSClient();
        final GetQueueUrlResult result = client.getQueueUrl(this.name);
        this.url = result.getQueueUrl();
    }//from   w  ww.j av  a  2 s .  c o  m
    return this.url;
}

From source file:it.polimi.modaclouds.cpimlibrary.msgqueuemng.AmazonMessageQueue.java

License:Apache License

@Override
public void add(String msg) throws CloudMessageQueueException {
    GetQueueUrlRequest getQueueUrlRequest = new GetQueueUrlRequest(queueName);
    GetQueueUrlResult getQueueUrlResult = sqs.getQueueUrl(getQueueUrlRequest);
    String queueUrl = getQueueUrlResult.getQueueUrl();
    sqs.sendMessage(new SendMessageRequest(queueUrl, msg));
}